首页 > 解决方案 > 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 的某些方面我不理解,但我想要完成的似乎很微不足道。

标签: androidgradlegroovybuild.gradle

解决方案



推荐阅读