我們正在團隊中開發android應用程序。要創建簽名版本apk,您應該設置密鑰存儲路徑,密碼,密鑰別名和密鑰密碼。如果我想要我,我的任何團隊成員都可以使用相同簽名創建簽名的apk,那麼我應該將密鑰存儲文件提交給源代碼管理?我應該將Android應用程序的發佈密鑰庫提交給團隊存儲庫嗎?
13
A
回答
15
你不應該。
Release keystore
是最敏感的數據。
在我的團隊中,只有一個人可以簽署發佈軟件包。 (可能是備份的一個)。
所有敏感信息必須被忽略,我們參考這些信息。
在我的球隊,我們的配置這樣的:
在Android Studio
:
/local.properties
文件:
storeFile=[path/to/keystore/file]
keyAlias=[alias's key]
keyPassword=[alias's password]
storePassword=[key's password]
/app/build.gradle
,config
範圍:
signingConfigs {
release {
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
storeFile file(properties.getProperty('storeFile'))
keyAlias properties.getProperty('keyAlias')
storePassword properties.getProperty('storePassword')
keyPassword properties.getProperty('keyPassword')
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
.
.
.
}
見我的完整演示配置:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
multiDexEnabled = true
applicationId "com.appconus.demoapp"
minSdkVersion 16
targetSdkVersion 21
multiDexEnabled = true
versionCode 18
versionName "1.3"
}
signingConfigs {
release {
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
storeFile file(properties.getProperty('storeFile'))
keyAlias properties.getProperty('keyAlias')
storePassword properties.getProperty('storePassword')
keyPassword properties.getProperty('keyPassword')
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
applicationVariants.all { variant ->
appendVersionNameVersionCode(variant, defaultConfig)
}
}
}
dependencies {
compile 'com.google.android.gms:play-services:8.1.0'
}
相關問題
- 1. 我應該將.testsettings和.vsdmi文件提交到存儲庫嗎?
- 2. 我應該在開源應用程序中發佈我的Spotify API密鑰嗎?
- 3. 我應該保持Apple開發者團隊ID的祕密嗎?
- 4. 我應該混淆Android應用程序存儲的OAuth使用者密碼嗎?
- 5. 我應該如何將API密鑰存儲在Python應用程序中?
- 6. Android - 如何獲取我的應用程序的發佈密鑰?
- 7. 我應該在哪裏存儲我的Node.js應用程序的密鑰?
- 8. 我應該加密我的Dropbox應用程序密鑰/祕密嗎?
- 9. 在SAAS應用程序數據庫中存儲Braintree API密鑰
- 10. 無法使用發行密鑰庫運行Android應用程序
- 11. 丟失密鑰庫後重新發布/分發Android應用程序
- 12. 生成一個BKS密鑰庫並存儲應用程序密鑰
- 13. 使用密鑰存儲庫簽署Android應用程序的問題
- 14. 將Facebook應用程序發佈到iOS的團隊
- 15. 在iOS中,我應該將具有`.a`文件擴展名的文件提交給我的mercurial存儲庫嗎?
- 16. 我應該在我的iOS應用程序中加密Amazon S3密鑰嗎?
- 17. 我是否應該在我的iOS或Android應用程序中硬編碼存儲加密密鑰
- 18. 什麼我應該使用密鑰存儲關於應用程序?
- 19. UI應該引用存儲庫嗎?
- 20. 應用程序密鑰庫丟失
- 21. 我是否可以將我的Android應用程序構建爲調試版,但簽署了發佈密鑰庫
- 22. 我應該將相關模型保存在存儲庫中嗎?
- 23. 我應該在電子應用程序中存儲OAuth客戶機密鑰?
- 24. 如何使用Android密鑰存儲提供程序存儲密鑰
- 25. 我應該將參考數據存儲在我的應用程序內存或數據庫中嗎?
- 26. 團隊服務提供私人存儲庫嗎?
- 27. 我應該存儲openid claims_id加密嗎?
- 28. 將我的應用程序提交給TestFlight後發出問題
- 29. 開發一個Web應用程序,該應用程序自動旋轉用於加密存儲在數據庫中的數據的加密密鑰
- 30. 用新的密鑰庫文件升級android應用程序
不要忘了:如果你有免費的git帳戶(如果你使用github上),你的資料庫將爲大家 –
沒有,我們用我們的專用服務器使用Git – mao
這是可見的是有點根據的意見 - 在我公司,我們在一個單獨的git倉庫中有keystore,我們在android項目中使用它作爲git子模塊。迄今爲止這是一個很好的解決方案。 – 1615903