在gradle属性中正确配置键

时间:2017-08-14 18:29:40

标签: android gradle

我试图用android studio直接将我的apk上传到Playstore。

使用ribot样板我可以看到他们将键放在gradle.properties中,如下所示:

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

并在build 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.properties中写我的键,如:

ribotAppReleaseStorePassword = THISISMYKEY

我将在将其上传到git时遇到问题,因为所有团队都会看到此密钥。 那么,我可以在这里设置系统环境变量吗?或者我该怎么办?

See full boilerplate

1 个答案:

答案 0 :(得分:3)

  

我可以在本地文件中设置变量

不确定

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

相关问题