×

配置 Android 签名的 gradle 插件

96
荆全齐
2015.01.05 00:09 字数 468

使用本插件可以让所有的开发机以及持续交付设备使用完全相同的代码进行工作.
避免陷入本地配置兼容性的泥淖中, 防止私密信息泄露. github

解决的问题

  • 签名文件路径这样的本地信息独立配置
  • 签名文件密钥与代码仓库隔离, 与开发隔离
  • 便于持续交付

优点

  • 一次配置, 再无后患
  • 便于扩展, 再多的签名文件也不怕
  • 以插件的形式使用, 使用 dependency 的版本管理机制保证配置的可复现. 以后随时切换回这个版本的代码都能有效运行.

使用方法

1. 写一个 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. 现在在 android.signingConfigs 里面这些签名可用了:

  • keystore1_alias1
  • keystore2_alias1
  • keystore2_alias2

4. Enjoy

欢迎 fork star and pr :github

开发记录
Web note ad 1