2017-08-14 33 views
1

我試圖直接用android studio將我的apk上傳到playstore。gradle屬性中正確的方式配置鍵

使用RIBOT樣板我可以看到,他們把鑰匙放在gradle.properties這樣的:

ribotAppKeystoreReleaseLocation = keystore/release.keystore 
ribotAppReleaseKeyAlias = UNDEFINED 
ribotAppReleaseStorePassword = UNDEFINED 
ribotAppReleaseKeyPassword = UNDEFINED 

和在建的gradle產出:

// You must set up an environment var before release signing 
    // Run: export RIBOT_APP_KEY={password} 
    release { 
     storeFile file("${ribotAppKeystoreReleaseLocation}") 
     keyAlias "${ribotAppReleaseKeyAlias}" 
     storePassword "${ribotAppReleaseStorePassword}" 
     keyPassword "${ribotAppReleaseKeyPassword}" 
    } 

如果我寫我的鑰匙的gradle。屬性如:

ribotAppReleaseStorePassword = THISISMYKEY 

我會有一個問題上傳到git,導致所有的團隊會看到這個鍵。 那麼,我可以在這裏設置一個系統環境變量嗎?或者我該怎麼做?

See full boilerplate

+1

沒有要求將'gradle.properties'放入版本控制。可能存在您的特定項目,在這種情況下,您需要將這些值移入單獨的屬性文件或執行其他操作。系統環境變量適用於Gradle,但不適用於Android Studio,最後我檢查了一下。 – CommonsWare

+0

@CommonsWare local.properties在gitignore中,但不是gradle.properties,我可以在本地文件中設置變量,或者我需要在gitgnore中添加gradle.properties? –

+0

「local.properties在gitignore中,但不是gradle.properties」 - 你可以很容易地將它添加到'.gitignore'中。 – CommonsWare

回答

2

我可以設置變量本地文件

肯定的:

apply plugin 'com.android.application' 

def keystorePropertiesFile = file('keystore.properties') 
def keystoreProperties = new Properties() 
keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 

android { 
    compileSdkVersion 26 
    buildToolsVersion '26.0.1' 

    defaultConfig { 
    minSdkVersion 21 
    targetSdkVersion 26 
    versionCode 1 
    versionName '0.0.1' 
    } 

    signingConfigs { 
    release { 
     keyAlias keystoreProperties['keyAlias'] 
     keyPassword keystoreProperties['keyPassword'] 
     storeFile file(keystoreProperties['storeFile']) 
     storePassword keystoreProperties['storePassword'] 
    } 
    } 

    buildTypes { 
    release { 
     signingConfig signingConfigs.release 
    } 
    } 
} 

在這裏,我有一個單獨的keystore.properties文件,我使用的簽名信息。然後,將keystore.properties放入.gitignore

相關問題