android - 具有多个 key 的 Gradle 签名配置用于同一个 APK

标签 android gradle build.gradle

是否可以设置 Gradle 使用 2 个不同的 key 对同一个 APK 进行签名?

像这样的东西:

signingConfigs {
    release {
        storeFile file("key1.jks")
        storePassword "password1"
        keyAlias "my-alias1"
        keyPassword "password1"

        storeFile file("key2.jks")
        storePassword "password2"
        keyAlias "my-alias2"
        keyPassword "password2"
    }
}

(上面的例子实际上只用 key #2 签名,跳过 key 1)

我知道我可以通过命令行来做到这一点:

apksigner sign --ks keyname1.jks --ks-pass stdin --key-pass stdin --next-signer --ks keyname2.jks --ks-pass stdin --key-pass stdin --out app-release.apk unsigned.apk



这将创建 1 个使用 2 个不同 key 签名的 apk

最佳答案

I know I can do it through command line:

apksigner sign --ks keyname1.jks --ks-pass stdin --key-pass stdin --next-signer --ks keyname2.jks --ks-pass stdin --key-pass stdin --out app-release.apk unsigned.apk



Gradle 使用 task 的概念完成工作,因此您可以简单地创建自己的构建任务并以自己的方式签名。

https://docs.gradle.org/current/userguide/more_about_tasks.html

关于android - 具有多个 key 的 Gradle 签名配置用于同一个 APK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540901/

相关文章:

android - 动态创建形状

java - 在评估阶段使用 Gradle 插件配置属性

java - 在gradle中运行任务后如何运行集成任务?

Android 2底部按钮并排

android - 编译 Android Oreo ROM 时出现问题。 "C_INCLUDES must be under the source...."

Android 服务器-客户端应用程序 session 问题

Java编译错误: package does not exist

Gradle 未发布自定义 jar 工件

android - Gradle 忽略依赖

gradle - 将环境变量传递给 gradle.properties