我试图以这样的方式配置我的构建类型:
release
必须能够访问密钥环境变量(否则应该失败)debug
版本不需要密钥问题是debug
构建失败(缺少环境变量)。有没有人知道为什么会发生这种情况,即使getSecretKey()
仅从release
构建类型调用?
buildTypes {
def getSecretKeyOrAbort = {
def key = System.getenv("MY_SECRET_KEY")
if (key) return key
else throw new GradleException("Environmental variable MY_SECRET_KEY required.")
}
debug {
buildConfigField 'String', 'LICENSE_KEY', ''
}
release {
buildConfigField 'String', 'LICENSE_KEY', getSecretKeyOrAbort()
}
}
答案 0 :(得分:0)
一种方法是在所有环境中设置环境变量。
如果正在开发中,请将 env =“dev”设置为prod env =“prod”
然后在属性文件中添加一个键值对,类似这样..
dev =“YOUR_SECRET_KEY”
prod =“NO_KEY”
然后通过读取环境变量然后从属性文件中获取它来读取这些键值。