2016-12-30 208 views
8

我正在使用android studio 2.2.2和gradle version 2.2.2開發Android應用程序。我正在嘗試生成已簽名的APK。我使用Android Studio生成簽名APK的常規流程。之後,我做了Zipalign的過程。生成APK工作正常,下面的android 6.但在安卓的情況下,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 Studio 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和更高默認情況下會生成使用v1(JAR簽名)和v2 scheme(APK簽名方案v2)簽名的APK。對帶有v2簽名的APK進行的任何修改都會使其V2簽名無效,該簽名是Android Nougat(Android 7.0)和更新版本驗證的,因此會阻止在Android Nougat和更新版本上安裝APK。

解決方案:

  1. 不要在已經簽署APK運行的zipalign - 安卓插件搖籃和Android工作室爲您發佈版本將已經生成ZIP對齊的APK。

  2. 如果您需要運行zipalign,請在APK簽名前進行操作。見https://developer.android.com/studio/command-line/zipalign.htmlhttps://developer.android.com/studio/publish/app-signing.html#signing-manually

  3. 在您的build.gradle文件中禁用v2簽名。請參閱https://developer.android.com/studio/releases/gradle-plugin.html,特別是v2SigningEnabled。