今天看Google Android developer文檔 突然看到關于簽署應用的安全問題。仔細看了下,好像自己的項目,并沒有這樣實現(這也是一道面試題)
1.應用場景
項目中如果把簽名文件的參數上傳到git,別人可以通過別的渠道獲取,從而導致對項目造成的不必要的損失。
2.解決方案
google給出的方案是可以把相應的屬性配置在本地,
1.在項目的根目錄創(chuàng)建keystore.properties文件,把相應的屬性內容放進去
storePassword=myStorePassword //不需要帶‘’號
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation
2.在模塊的build.gradle文件中,android{}塊前面添加加載keystore.properties文件的代碼
// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
def keystorePropertiesFile = rootProject.file("keystore.properties")
// Initialize a new Properties() object called keystoreProperties.
def keystoreProperties = new Properties()
// Load your keystore.properties file into the keystoreProperties object.
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
...
}
3然后修改模塊中的代碼
signingConfigs {
// config {
// keyAlias 'android'
// keyPassword 'android'
// storeFile file('android.keystore')
// storePassword 'android'
// }
config{
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
這樣就配置好了,把配置文件保存好,在.gitignore文件中忽略,這樣就不會上傳敏感信息到git上去了,建議大家平時可以多看看developer文檔,里面有很多知識,我們都可以從這里學習