概述
我遇到一个问题,其中System.getenv()为环境变量返回null。 我的密码存储在RELEASE_PASSWORD环境变量中。 当我做:
$ echo $RELEASE_PASSWORD
它打印出正确的值,所以我知道该变量已设置。
我最初在发布buildType中设置了signingConfig signingConfigs.release,并且一切正常,但是我需要针对不同产品口味的不同签名配置。 如果我对密码进行硬编码,则它的工作原理与假定的一样。 当我尝试从环境变量中读取密码时,事情只会变得不妙。
这是某种范围问题吗?
这就是我目前在build.gradle中所拥有的。
android {
...
signingConfigs {
release {
storeFile ...;
keyAlias ...;
storePassword System.getenv("RELEASE_PASSWORD");
keyPassword System.getenv("RELEASE_PASSWORD");
}
unsigned {
keyAlias"";
storePassword"";
keyPassword"";
}
}
buildTypes {
debug {
versionNameSuffix ="-DEBUG"
}
release {
}
}
flavorGroups"storeFront"
productFlavors {
def googleVariable = signingConfigs.release
def amazonVariable = signingConfigs.unsigned
google {
flavorGroup"storeFront"
signingConfig googleVariable
}
amazon {
flavorGroup"storeFront"
signingConfig amazonVariable
}
}
}
对于Windows用户,如果要创建新的环境变量,则需要重新启动PC。我不知道Windows怎么了,但这就是它的工作方式。我尝试的是,在gradle脚本中,我编写了一个任务来打印我的JAVA_HOME变量路径,如下所示:
1 | task printJavaHome{ |
然后与gradle同步。
然后在Studio中打开终端窗口。
并输入:
1 | gradlew -q printJavaHome |
如果您设置了它,它将显示您的Java主目录路径,否则它将显示null。
在执行上述命令之前,请确保将终端指向项目的根目录。
现在尝试设置一个新的环境变量并加载它,并尝试按照上述步骤打印它。如果您使用Windows,则会看到null。但是,当您重新启动PC并再次执行命令时,它将返回您环境变量的实际值。
这就是我经历并想到的共享,可能对某人有用。
转自:Android gradle版本System.getEnv(“ RELEASE_PASSWORD”)返回null | 码农家园
最后
以上就是会撒娇饼干为你收集整理的gradle版本System.getEnv(“ RELEASE_PASSWORD”)返回null的全部内容,希望文章能够帮你解决gradle版本System.getEnv(“ RELEASE_PASSWORD”)返回null所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复