Android签名apk签名V2

我正在开发使用android studio版本2.2.2和gradle版本2.2.2的Android应用程序。 我正在尝试生成已签名的APK。 我使用Android Studio生成签名APK的常规stream程。 之后,我做了Zipalign过程。 生成APK在Android 6下工作正常。但在Android N的情况下,它显示安装APK时出现以下错误:

  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。 我做错了什么? 需要一些帮助。

Solutions Collecting From Web of "Android签名apk签名V2"

Android插件Gradle以及Android Studio 2.2和更高版本默认情况下会生成使用v1(JAR签名)和v2 scheme(APK签名schemev2)签名的APK。 对v2签名的APK进行的任何修改都会使其V2签名失效,即Android Nougat(Android 7.0)和更新的validation,从而阻止在Android Nougat和更新版本上安装APK。

解决scheme:

  1. 不要在已经签名的APK – Android插件for Gradle上运行zipalign,而Android Studio将为您的发布版本生成已经拉链alignment的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. 在您的build.gradle文件中禁用v2签名。 请参阅https://developer.android.com/studio/releases/gradle-plugin.html ,特别是v2SigningEnabled。