android studio 升级2.3之后,签名打包需要选择Signature versions,如下图
1.pngAPK Signature Scheme v2是Android 7.0 引入一项新的应用签名方案 ,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。
谷歌建议我们的应用采用 APK Signature Scheme v2,但也不是强制性的。如果我们的应用在使用 APK Signature Scheme v2 时不能正确开发,我们可以停用APK Signature Scheme v2 ,只需打开build,gradle添加如下配置中:
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("****.keystore")
storePassword "password"
keyAlias "ReleaseKey"
keyPassword "password"
v2SigningEnabled false
}
}
}
如需了解详细信息,请阅读相关的 Android Studio 文档,这些文档介绍了如何在 Android Studio 中签署应用以及如何使用 Android Plugin for Gradle为签署应用配置构建文件。
在Android Studio 2.2中,打包签名已经使用了两种方式:APK Signature Scheme v2 和传统签名方案来签署应用。但是在AS2.2中没有强调体现。在AS2.3中打包的时候有体现:
勾选V2就可能导致在Android7.0以下的设备无法安装。所以只要打包的时候勾选V1就好了。
二者的区别:
V1:可对签名后的文件,作适当修改,并重新压缩。
V2:不能对签名后的 APK作任何修改,包括 zipalign。因为它是针对字节进行的签名,所以任何改动都会影响最终结果。
Signature Versions不能只选择 V2(Full APK Signature),应该选择V1(Jar Signature),或者选择 V1和 V2。
Signature Versions v2 链接地址:https://developer.android.com/preview/api-overview.html#apk_signature_v2
网友评论