Пожалуйста, выберите хотя бы одну из версий подписи для использования в Android Studio 2.3
Теперь, создавая подписанный APK в Android Studio, он показывает две опции (CheckBox), а именно 1. V1 (Jar Signature)
и 2. V2 (Full APK Signature)
как Версии подписи на последнем шаге процесса создания подписанного APK.
Итак, в чем разница между V1 (Jar Signature) и V2 (Full APK Signature) в новом обновлении Android Studio?
И что я должен использовать (или оба) для подписания apk для выпуска Play Store?
Кроме того, я получаю сообщение об ошибке Установить Parse Failed No Certificates при установке APK, когда я использую второй вариант.
Должен ли я использовать (или оба) для подписания apk для выпуска Play Store? Ответ ДА .
Согласно https://source.android.com/security/apksigning/v2.html#verification :
Я попытался сгенерировать сборку с проверкой опции V2 (Full Apk Signature) . Затем, когда я попытался установить сборку релиза на устройстве ниже 7.0, и я не смог установить сборку на устройстве.
После этого я попытался выполнить сборку, установив оба флажка версии и сгенерировав выпуск сборки. Затем можно установить сборку.
источник
Это написано здесь , что «по умолчанию Android Studio 2.2 и Android плагин для Gradle 2.2 подписать приложение , используя как APK Signature Scheme v2 и традиционную схему подписи, которая использует подписание JAR.»
Поскольку кажется, что эти новые флажки появились в Android 2.3, я понимаю, что мои предыдущие версии Android Studio (по крайней мере, 2.2) подписывали обеими сигнатурами. Итак, чтобы продолжить, как я делал раньше, я думаю, что лучше установить оба флажка.
РЕДАКТИРОВАТЬ 31 марта 2017: отправлено несколько приложений с обеими подписями => без проблем :)
источник
Я думаю, что это хороший ответ.
Проверка схемы подписи APK v2
APK Signing Block
и убедитесь, что:APK Signing Block
содержат одинаковое значение.ZIP Central Directory
немедленно сопровождаетсяZIP End of Central Directory
записью.ZIP End of Central Directory
не сопровождается большим количеством данных.APK Signature Scheme v2 Block
внутриAPK Signing Block
. Если блок v2, если имеется, перейдите к шагу 3. В противном случае вернитесь к проверке APK по схеме v1.APK Signature Scheme v2 Block
:SubjectPublicKeyInfo
первый сертификат сертификатов идентичен открытому ключу.Примечание: APK не должен проверяться по схеме v1, если сбой происходит на шаге 3 или 4.
JAR-подписанная проверка APK (схема v1)
APK-файл, подписанный JAR, является стандартным JAR-подписью, который должен содержать именно те записи, которые указаны в списке,
META-INF/MANIFEST.MF
и где все записи должны быть подписаны одним и тем же набором подписантов. Его целостность проверяется следующим образом:META-INF/<signer>.SF
иMETA-INF/<signer>.(RSA|DSA|EC)
.<signer>.(RSA|DSA|EC)
является структуройPKCS #7 CMS ContentInfo
с SignedData, чья подпись проверяется в<signer>.SF
файле.<signer>.SF
файл содержит дайджест всего файлаMETA-INF/MANIFEST.MF
и дайджесты каждого разделаMETA-INF/MANIFEST.MF
. Дайджест всего файлаMANIFEST.MF
проверен. Если это не удается,MANIFEST.MF
вместо этого проверяется дайджест каждого раздела.META-INF/MANIFEST.MF
содержит для каждой защищенной целостностью записи JAR раздел с соответствующим именем, содержащий дайджест несжатого содержимого записи. Все эти дайджесты проверены.MANIFEST.MF
и не являются частью подписи JAR. Таким образом, защитная цепочка представляет собой<signer>.(RSA|DSA|EC)
→<signer>.SF
→MANIFEST.MF
→ содержимое каждой записи JAR с защитой целостности.источник
По этой ссылке: подпись справки
APK Signature Scheme v2 предлагает:
Он рекомендуется использовать APK Signature Scheme v2 , но не является обязательным .
источник