我的路径release.keystore
中有我的密钥库/home/ankit/keystores/release.keystore
。我想使用别名为example
的密钥对来签署使用Jenkins构建的应用程序。但是,我无法提供Jenkins中密钥库的地址。以下是截图:
可以看出,对于密钥库标签有一个下拉列表,它没有项目。我试图遵循官方文件,但我没有得到它。
我想我必须以某种方式将现有的密钥对链接到Jenkins,以便它显示在下拉列表中。但我无法弄清楚如何。
答案 0 :(得分:2)
相反,你可以在gradle本身配置这一切,这将独立于任何CI工作。首先在项目的根目录中创建build.properties
,并包含以下内容:
#Key store
keystore.release=../keys/release.keystore
keystore.debug=../keys/debug.keystore
keystore.key.alias=...
keystore.key.password=...
keystore.password=...
现在,在您的应用模块build.gradle
中访问这些道具:
final Properties props = new Properties()
props.load(new FileInputStream('build.properties'))
android {
signingConfigs {
release {
keyAlias props['keystore.key.alias']
keyPassword props['keystore.key.password']
storeFile file(props['keystore.release'])
storePassword props['keystore.password']
}
debug {
storeFile file(props['keystore.debug'])
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
debug {
...
signingConfig signingConfigs.debug
}
}
}
现在确保它在./gradlew clean assembleRelease
的本地计算机上运行(如果你在PC上还有其他功能)
之后提交更改并更新CI中的gradle构建设置。并确保那些密钥库在那里。