android - Gradle属性作为字符串?
问题描述
我正在尝试在我的 Android 应用程序中设置 ENV 变量(例如,不同环境的 API 密钥)。我们 CICD 中构建 apk 文件的命令如下所示(它可以是发布或调试,但对于下面的示例,我使用的是调试)
gradlew assembleDebug
这工作得很好,但现在在整个代码中我使用的变量类似于下面的代码片段:
private static final String API_KEY = BuildConfig.apiKey;
这个想法是,该BuildConfig
属性apiKey
将被替换为基于 env 的不同 API 密钥。我的想法是通过以下命令设置属性:
gradlew assembleDebug -PapiKey=SOME_STRING_API_KEY_VALUE
这确实将 apiKey 分配给值 SOME_STRING_API_KEY_VALUE 但作为变量而不是字符串。我只想要字符串值。我觉得 gradle/groovy 的某些方面我不理解,但我想要完成的似乎很微不足道。
解决方案
推荐阅读
- jasper-reports - 从 json 有效负载动态设置 net.sf.jasperreports.export.xls.sheet.name
- html - 为什么下面的图像行是从上面移动的?
- java - 在 Spring Security 中配置许多 OAuth2 授权类型
- python - 有没有办法在使用 python 的 if 语句中将项目添加到字典中?
- android - Android textview 仅在视觉上旋转
- c# - 列不允许 DBNull.Value - 没有 KeepNulls - 正确的列映射
- javascript - 'stricly-linked list'的定义是什么,这在添加两个数字问题中是绝对必要的吗?
- javascript - connected-react-router - 你不应该使用
外面 - excel - 首次运行后 VBA 代码中断 - 错误 91
- powerbi - 如何在 Power BI Desktop 中创建将聚合每个季度的数据的列