在版本控制中存储android标志证书

时间:2017-05-11 23:01:02

标签: android git version-control certificate

我已经和android一起玩了一段时间。既然我有我的应用程序并且能够生成我的签名版本(测试目的),我就提出了我带给您的问题:我应该将此证书保存在我的仓库吗?

通常我不希望在其中包含任何敏感信息,但当我即将提交更改时,我发现AndroidStudio使用 storeFile storePassword build.graddle strong> in(我将证书存储在/home/user,因为我没有预料到这一点)

我很想听听你的想法

2 个答案:

答案 0 :(得分:1)

我所做的是......我将应用程序gradle分成3部分。

build.gradle - >主要篮子

将此3 gradle导入build.gradle
dependencies.gradle - >依赖列表
signing.gradle - >用于app签名密钥库
function.gradle - >方法调用

signing.gradle中的

仅包含此内容

def alias = project.findProperty('APP_KEY_ALIAS') ?: EHALAL_KEY_ALIAS
def key_password = project.findProperty('APP_KEY_PASSWORD') ?: EHALAL_KEY_PASSWORD
def store_password = project.findProperty('APP_STORE_PASSWORD') ?: EHALAL_STORE_PASSWORD
def store_file = project.findProperty('APP_KEY_STORE_FILE') ?: EHALAL_KEY_STORE_FILE

if (alias && key_password && store_password && file(store_file).exists()) {
    android {
        signingConfigs {
            release {
                keyAlias alias
                keyPassword key_password
                storeFile file(store_file)
                storePassword store_password
            }
        }

        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
        }
    }
}

有了这个,我只能排除.gitignore中的签名gradle部分,而不是整个build.gradle部分。

我建议你需要将所有敏感密钥移到gradle.properties,因为它只在你的本地。参考here

答案 1 :(得分:0)

您最好不要在版本控制中添加证书。

如果文件(build.graddle)位于git存储库目录中,则可以使用 .gitignore 忽略该文件,因为证书是敏感数据。

如果您之前在版本控制中提交了该文件,则应该通过git rm build.graddle --cached从版本控制中删除该文件。