gradle 属性中的正确配置键

Pab*_*rra 1 android gradle

我正在尝试使用 android studio 将我的 apk 直接上传到 Playstore。

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

ribotAppKeystoreReleaseLocation = keystore/release.keystore
ribotAppReleaseKeyAlias = UNDEFINED
ribotAppReleaseStorePassword = UNDEFINED
ribotAppReleaseKeyPassword = UNDEFINED
Run Code Online (Sandbox Code Playgroud)

并在构建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}"
    }
Run Code Online (Sandbox Code Playgroud)

如果我在 gradle.properties 中编写我的密钥,例如:

ribotAppReleaseStorePassword = THISISMYKEY
Run Code Online (Sandbox Code Playgroud)

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

查看完整样板

Com*_*are 5

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

当然:

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
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我有一个单独的keystore.properties文件用于签名信息。然后,把keystore.properties.gitignore