在版本控制中存储 android 签名证书
Store android sign certificate in version control
我玩 android 有一段时间了。现在我有了我的应用程序并且能够生成我的签名版本(测试目的),我提出了一个问题:我应该在我的 repo 中保存这个证书吗?
通常我不想在其中包含任何敏感信息,但是当我要提交更改时,我看到 AndroidStudio 修改了 build.graddle
和 storeFile 和 storePassword 在其中(我将我的证书存储在 /home/user
中,没想到会这样)
我很想听听你的想法
版本控制中最好不要添加证书
您可以使用 .gitignore 忽略文件 (build.graddle
) 如果它们在 git 存储库目录中,因为证书是敏感数据。
如果您之前在版本控制中提交了该文件,您应该通过 git rm build.graddle --cached
从版本控制中删除该文件。
我所做的是..我将应用程序 gradle 分为 3 部分。
build.gradle
--> 主要 gradle
将这 3 gradle 导入 build.gradle
dependencies.gradle
--> 依赖列表
signing.gradle
--> 用于应用签名密钥库
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
我玩 android 有一段时间了。现在我有了我的应用程序并且能够生成我的签名版本(测试目的),我提出了一个问题:我应该在我的 repo 中保存这个证书吗?
通常我不想在其中包含任何敏感信息,但是当我要提交更改时,我看到 AndroidStudio 修改了 build.graddle
和 storeFile 和 storePassword 在其中(我将我的证书存储在 /home/user
中,没想到会这样)
我很想听听你的想法
版本控制中最好不要添加证书
您可以使用 .gitignore 忽略文件 (build.graddle
) 如果它们在 git 存储库目录中,因为证书是敏感数据。
如果您之前在版本控制中提交了该文件,您应该通过 git rm build.graddle --cached
从版本控制中删除该文件。
我所做的是..我将应用程序 gradle 分为 3 部分。
build.gradle
--> 主要 gradle
将这 3 gradle 导入 build.gradle
dependencies.gradle
--> 依赖列表
signing.gradle
--> 用于应用签名密钥库
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