我是靠谱客的博主 会撒娇饼干,最近开发中收集的这篇文章主要介绍gradle版本System.getEnv(“ RELEASE_PASSWORD”)返回null,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我遇到一个问题,其中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
2
3

task printJavaHome{
     println System.getenv("JAVA_HOME")
}

然后与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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部