如何使用jenkins签署android apk

时间:2017-06-02 09:05:30

标签: android jenkins apk keystore signing

我的路径release.keystore中有我的密钥库/home/ankit/keystores/release.keystore。我想使用别名为example的密钥对来签署使用Jenkins构建的应用程序。但是,我无法提供Jenkins中密钥库的地址。以下是截图:

enter image description here

可以看出,对于密钥库标签有一个下拉列表,它没有项目。我试图遵循官方文件,但我没有得到它。

我想我必须以某种方式将现有的密钥对链接到Jenkins,以便它显示在下拉列表中。但我无法弄清楚如何。

1 个答案:

答案 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构建设置。并确保那些密钥库在那里。