![](/img/trans.png)
[英]Java/Gradle: How can I access gradle project properties from Java code
[英]How to access Gradle extra properties from Java?
我正在为我的应用程序进行一些浓缩咖啡测试,并且我正在与我的测试中的真实 API 进行交互。 所以,我试图从一些环境变量中读取这些 API 凭据:
假设我正在使用 Netflix API。 我在 MAC 上的bash_profile
声明凭据:
export NETFLIX_ID='123'
export NETFLIX_TOKEN='xxx'
launchctl setenv NETFLIX_ID $NETFLIX_ID
launchctl setenv NETFLIX_TOKEN $NETFLIX_TOKEN
现在在 Gradle 上,我创建了一些额外的属性,如下所示:
ext {
netflixId = System.getenv("NETFLIX_ID")
netflixToken = System.getenv("NETFLIX_TOKEN")
}
如果我打印netflixId
和netflixToken
则凭据打印正确,这意味着System.getenv()
正在工作。
我现在要做的是从 Java 代码中读取这些额外的属性。 你知道有没有办法做到这一点? 或更好的方法? 任何帮助,将不胜感激
您可以将环境变量的值构建到您的应用程序中。 您可以将它们放在build.gradle
构建配置字段中:
android {
defaultConfig {
buildConfigField "String", "NETFLIX_ID", "\"" + System.getenv('NETFLIX_ID') + "\""
}
}
然后这些值最终会出现在与该 gradle 模块的 AndroidManifest 包对应的包中的编译时生成的BuildConfig
类中,然后您可以使用BuildConfig.NETFLIX_ID
来使用该值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.