java - 如何从 Java 访问 Gradle 额外属性?
问题描述
我正在为我的应用程序做一些浓缩咖啡测试,并且我正在与我的测试中的真实 API 进行交互。因此,我正在尝试从一些环境变量中读取这些 API 凭据:
假设我正在使用 Netflix API。bash_profile
我在 MAC 上声明了凭据:
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') + "\""
}
}
然后这些值最终会在BuildConfig
与该 gradle 模块的 AndroidManifest 包对应的包中的编译时生成类中,然后您可以BuildConfig.NETFLIX_ID
使用该值。
推荐阅读
- sql - 嵌套 sql 聚合函数的语法
- node.js - 在 MacOS 中使用 Homebrew 安装节点时卡住了:fork.rb:49:in `write': Broken pipe (Errno::EPIPE)
- java - 如何在 Heroku 中运行 Spring Boot WAR 应用程序?
- matplotlib-basemap - 底图加 3d 图
- python - Python:数组的numpy数组的外积的所有排列的总和
- java - Ubuntu 上的 Javac
- pdf - 重命名 PDF 嵌入字体
- kotlin - 将 Java 转换为 Kotlin(以函数作为参数)
- php - laravel 控制器中未收到复选框值
- python - 按钮“开始”以其他五个按钮结束,每个按钮一个。tkinter