Como todo lo que hacemos, tengo la aplicación que está firmada por debug.keystore (de forma predeterminada) cuando está en modo de desarrollo (compilación). Cuando se publica, lo firmamos con nuestra clave privada. ¿Hay alguna manera de determinar en tiempo de ejecución que el paquete actual está firmado con debug.keystore (está en modo de desarrollo) o está firmado con nuestra clave privada (está en modo de producción).Android compare la firma del paquete actual con debug.keystore
He intentado algo así como
PackageManager packageManager = getPackageManager();
try {
Signature[] signs = packageManager.getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES).signatures;
for (Signature signature : signs) {
Log.d(TAG, "sign = " + signature.toCharsString());
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
no sé qué hacer a continuación? ¿Es esta la forma correcta de hacer esto? ¿Cómo obtener una firma de debug.keystore comparable?
Sé que existe la huella dactilar MD5 keytool -list -keystore ~/.android/debug.keystore
pero en la clase Signature no existe el método "md5 de huella dactilar". Quiero hacer esto debido a MapView Key, Logging, LicenseChecker y cosas como esta.
Hoy en día utilizo 1 valor booleano estático que tengo que cambiar cada vez que hago una versión de producción. Ha sucedido que lo olvidé. :( – zmeda