2016-12-30 5 views
8

Я разрабатываю Android-приложение, используя версию Android 2.2.2 и версию 2.2.2 градиента. Я пытаюсь создать подписанный APK. Я сделал обычный процесс для создания подписанного APK с Android Studio. После этого я сделал Zipalign процесс. генерироваться APK отлично работает под андроид 6. Но в случае Android N он показывает мне следующее сообщение об ошибке при установке APK:Подпись Android подписи apk V2

Failed to install C:\Users\User\AppData\Roaming\Skype\My Skype Received Files\ap 
p-dev3-release_zipalign.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Fail 
ed to collect certificates from /data/app/vmdl25816781.tmp/base.apk: META-INF/CE 
RT.SF indicates /data/app/vmdl25816781.tmp/base.apk is signed using APK Signatur 
e Scheme v2, but no such signature was found. Signature stripped?] 

Согласно документу Android студия 2,2 это самостоятельно заботиться о знаке в подписи V1 и V2. Я что-то делаю неправильно? Нужна помощь.

+0

http://stackoverflow.com/questions/15636396/failure-install-parse-failed-no-certificates-when-attempting-to-install-apk-to –

ответ

11

Плагин Android для Gradle, а также Android Studio 2.2 и новее по умолчанию генерируют APK, которые подписаны с помощью подписи v1 (JAR) и v2 (APK Signature Scheme v2). Любая модификация AP2 с подписью v2 делает недействительной ее подпись v2, которую Android Nougat (Android 7.0) и более поздняя версия проверяет, и тем самым предотвращает установку APK на Android Nougat и новее.

Решение:

  1. Не запускайте zipalign на уже подписанный APK - Android плагин для Gradle и Android Studio будет создавать уже zip-выровненные файлы APK для вашего выпуска сборок.

  2. Если вам нужно запустить zipalign, сделайте это до подписания APK. См. https://developer.android.com/studio/command-line/zipalign.html и https://developer.android.com/studio/publish/app-signing.html#signing-manually.

  3. Отключить v2 в вашем файле build.gradle. См. https://developer.android.com/studio/releases/gradle-plugin.html, в частности, v2SigningEnabled.

Смежные вопросы