Как и все, что мы делаем, у меня есть приложение, которое подписывается debug.keystore(по умолчанию), когда оно находится в режиме разработки (сборка). Когда это происходит, мы подписываем его с помощью нашего закрытого ключа. Есть ли способ определить во время выполнения, что текущий пакет подписан с debug.keystore(находится в режиме разработки) или подписан с нашим личным ключом (находится в режиме производства).
Я пробовал что-то вроде
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();
}
Я не знаю, что делать дальше? Правильно ли это? Как получить сопоставимую подпись debug.keystore?
Я знаю, что существует MD5 Fingerprint keytool -list -keystore ~/.android/debug.keystore
, но в классе Signature не существует метода "md5 fingerprint".
Я хочу сделать это из-за MapView Key, Logging, LicenseChecker и т.д.