Когда я протестировать приложение в режиме отладки (AndroidStudio) Я никогда не использовал, чтобы получить проблемы с матча подписи на Android 4.4.2, но сейчас (на 5.0.1) поведение изменилось.
В то время как я не использовал checkSignatures()
, это поведение могло бы оглушить меня. Единственное, о чем я могу думать, это если у них была некоторая ошибка безопасности, в которой всегда были возвращены сборки отладки true
от checkSignatures()
. В противном случае приложение, подписанное с ключом подписи отладки, никогда не должно совпадать с подписью другого приложения, подписанного ключом производства.
Я знаю наверняка, что Android будет сообщать о различных ключах подписи во время выполнения с помощью PackageManager
для различных сборок, как я сделал много экспериментов вокруг того, как часть моей работы с SignatureUtils
.
Означает ли это, что эта функция не может быть протестирована с помощью Android Studio на Android 5.0.1?
Это означает, что вы должны тестировать эту функциональность, используя тот же ключ для подписки для обоих приложений. Независимо от того, является ли это отладочным ключом или ключом выпуска, зависит от вас.
Вы уверены, что подписи действительно совпадают? -3 - 'SIGNATURE_NO_MATCH'. – CommonsWare
if (sigMatch == PackageManager.SIGNATURE_MATCH) возвращает false –
Просто, чтобы быть ясным, установлен com.myname1.myname2.myappunlocker, но моя проверка для PackageManager.SIGNATURE_MATCH теперь терпит неудачу (тогда как она прошла на Android 4.4.2) –