Gradle属性是否为字符串?



我正在尝试在我的Android应用程序中设置ENV变量(例如不同环境的API密钥)。在我们的CICD中,构建apk文件的命令如下(它可以是release或debug,但对于下面的示例,我使用debug)

gradlew assembleDebug

这工作得很好,但现在在整个代码中,我使用了类似于下面代码片段的变量:

private static final String API_KEY = BuildConfig.apiKey;

这个想法是,BuildConfig属性apiKey将被基于环境的不同API密钥替换。我的想法是通过以下命令设置属性:

gradlew assembleDebug -PapiKey=SOME_STRING_API_KEY_VALUE

这将apiKey分配给值SOME_STRING_API_KEY_VALUE,但作为变量而不是字符串。我只想要字符串值。我觉得gradle/groovy的某些方面我不理解,但我想要完成的似乎很微不足道。

很抱歉给您带来不便,我应该多做一点调查。我只需要使用转义字符的API键值-PapiKey=“SOME_STRING_API_KEY_VALUE”,如果有一个更优雅的解决方案,我想要完成,请让我知道!

最新更新