配置 Android 簽名的 gradle 插件

使用本插件可以讓所有的開(kāi)發(fā)機(jī)以及持續(xù)交付設(shè)備使用完全相同的代碼進(jìn)行工作.
避免陷入本地配置兼容性的泥淖中, 防止私密信息泄露. github

解決的問(wèn)題

  • 簽名文件路徑這樣的本地信息獨(dú)立配置
  • 簽名文件密鑰與代碼倉(cāng)庫(kù)隔離, 與開(kāi)發(fā)隔離
  • 便于持續(xù)交付

優(yōu)點(diǎn)

  • 一次配置, 再無(wú)后患
  • 便于擴(kuò)展, 再多的簽名文件也不怕
  • 以插件的形式使用, 使用 dependency 的版本管理機(jī)制保證配置的可復(fù)現(xiàn). 以后隨時(shí)切換回這個(gè)版本的代碼都能有效運(yùn)行.

使用方法

1. 寫一個(gè) xml 文件描述你的簽名

文件路徑是 ~/.android_key_store.xml 按照這樣寫就行了

<keystores>
    <keystore>
        <store-name>keystore1</store-name>
        <store-path>~/keys/keystore1.key</store-path>
        <store-password>password</store-password>
        <aliases>
            <alias>
                <alias-name>alias1</alias-name>
                <alias-password>password</alias-password>
            </alias>
        </aliases>
    </keystore>

    <keystore>
        <store-name>keystore2</store-name>
        <store-path>~/keys/keystore2.key</store-path>
        <store-password>password</store-password>
        <aliases>
            <alias>
                <alias-name>alias1</alias-name>
                <alias-password>password</alias-password>
            </alias>
            <alias>
                <alias-name>alias2</alias-name>
                <alias-password>password</alias-password>
            </alias>
        </aliases>
    </keystore>
</keystores>

2. 配置 classpath 使用 plugin

在 top level buid.gradle 文件中加入 classpath 'org.quanqi:android-signing:0.1.3' 如下

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
        classpath 'org.quanqi:android-signing:0.1.3'
    }
}

apply plugin: 'com.android.application' 后面加入
apply plugin: 'org.quanqi.android-signing'

3. 現(xiàn)在在 android.signingConfigs 里面這些簽名可用了:

  • keystore1_alias1
  • keystore2_alias1
  • keystore2_alias2

4. Enjoy

歡迎 fork star and pr :github

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容