【发布时间】:2020-07-10 20:22:08
【问题描述】:
所以,在我将 android gradle 插件更新到 3.6 版之前,我的项目运行良好。现在,当我在 Android Studio 中通过“生成签名的 APK”生成发布 apk,或者在我们的 CI 上构建发布 apk 时,它会生成一个未签名的 apk。 我使用 jre 的“jarsigner”工具来验证它(jarsigner --verify --certs D:\app-release.apk),它告诉我“jar 未签名”。 我的 build.gradle 中有一个签名配置:
signingConfigs {
release {
storeFile file(signing.keyPathRetail)
storePassword signing.storePasswordRetail
keyAlias signing.keyAliasRetail
keyPassword signing.keyPasswordRetail
}
}
密钥库的位置和所有密码都正确。密钥库本身多年来没有改变。当我将 com.android.tools.build:gradle 依赖项恢复到版本 3.4.2 时,相同的项目正在生成一个有效的签名 apk。
我发现如果我以 7-zip 打开生成的 apk,它在 META-INF 文件夹中缺少文件“CERT.RSA”和“CERT.SF”(使用 3.4.2 gradle 生成的 apk插件版本有它们),但我不知道为什么。
【问题讨论】:
标签: android gradle apk jar-signing