我已经和android一起玩了一段时间。既然我有我的应用程序并且能够生成我的签名版本(测试目的),我就提出了我带给您的问题:我应该将此证书保存在我的仓库吗?
通常我不希望在其中包含任何敏感信息,但当我即将提交更改时,我发现AndroidStudio使用 storeFile 和 storePassword }修改了build.graddle
strong> in(我将证书存储在/home/user
,因为我没有预料到这一点)
我很想听听你的想法
答案 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
从版本控制中删除该文件。