Cómo determinar si la firma Apk de una aplicación de Android es consistente
FILE="yourapp.apk"
cert_XSA=`jar tf $FILE | grep SA`
En este momento, el cert_XSA que obtenga puede ser META - INF/*.RSA o META-INF/*.DSA.
A continuación, extraiga el archivo de firma específico del apk.
jar xf $FILE $cert_XSA
En este momento, obtendrá el archivo cert_XSA en el directorio actual.
Luego, para el archivo de firma obtenido, extraiga el valor MD5 de la firma
keytool -printcert -file $cert_XSA | grep MD5 > "$FILE.certMD5"
En este momento, yourapp.certMD5 se guardará en el archivo de valores MD5 firmado en yourapp.apkk.
Finalmente, puedes usar diff
FILE1="yourapp1.apk"
FILE2="yourapp2.apk"
# . .
# ...Después de completar los pasos anteriores, obtendrá $FILE1.certMD5 y $FILE2.certMD5
# ...
certMD5_diff. =`diff $ FILE1.certMD5 $FILE2.certMD5`
if [ "$certMD5_diff" = "" ] entonces
echo "$FILE1.certMD5 == $FILE2.certMD5 "
fi
Si el resultado yourapp1.apk.certMD5 == yourapp2.apk.certMD5, entonces ambas aplicaciones tienen la misma firma.