我有可以具有signingConfigs的build.gradle,但是我想忽略此设置并使用其他凭据。我不想编辑或替换build.gradle中的值。
gradle是否具有与gradle assemble -storeFile='PATH' -storePassword='password' -keyAlias='alias' -keyPassword='password'
类似的命令?
如果无法与其他signingConfigs创建签名的apk,是否可以创建未签名的apk?
答案 0 :(得分:0)
没有gradle build命令来进行符号配置。 根据您在问题中提到的要求,您有两种选择。
1。编辑build.gradle
以创建多个构建样式,并为每个构建样式提供不同的签名细节。
android {
signingConfigs {
abc {
keyAlias 'abc'
keyPassword 'yyy'
storeFile file('keystore/astro.keystore')
storePassword 'zzz'
}
xyz {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('keystore/sample.keystore')
storePassword 'xxx'
}
//add another block for new customer
}}
使用不同的签名配置创建密钥库属性文件的多个副本,并且当您要使用keystore.properties文件的一个特定副本时,将其重命名为“ keystore.properties”。
def keystorePropertiesFile = rootProject.file("keystore.properties")
https://developer.android.com/studio/publish/app-signing#secure-shared-keystore
答案 1 :(得分:0)
我建议您使用 solution reported by @Ranjan。它是更清洁的标准解决方案。
但是,如果您想使用命令行命令,则可以在gradle脚本的AddressNet
变量中访问通过-P
参数传递给gradle的所有属性。
您可以执行以下操作:
project
,然后在您的gradle assembleRelease -PmyKeyPassword='xxx' -PmyStorePassword='xxx' -PmyKeyAlias='xxx' -PmyStoreFile='...xxx.keystore'
中进行定义。
build.gradle
请注意,因为如果您未在gradle命令中指定键,则它可能会导致错误(我认为不太好)。
您可以通过检查参数(使用signingConfigs {
release {
storeFile project.mystoreFile
storePassword project.myStorePassword
keyAlias project.myKeyAlias
keyPassword project.myKeyPassword
}
}
方法并在project.hasProperty(xxx)
中定义默认值来缓解问题。
类似的东西:
build.gradle