如何从grade.properties获取属性



如果我使用如下命令行在gradle.properties文件中设置属性:

gradle build -Dproperty=myString

在我的Android项目中,我的资源目录中有一个configuration.properties,我如何让configuration.propertiesgradle.properties文件中读取新属性?

我尝试了以下设置:

梯度特性

property=defaultString
anotherProperty=defaultBoolean

配置.属性

myProperty=@property@

潜在解决方案1

为每种口味使用一个configuration.properties文件

每个风格的资源听起来是个好主意,但我希望在main中有一个默认列表,并且只覆盖所需的属性。我有很多属性,有些口味只需要覆盖一个。因此,这确实有效,但并不理想。


潜在解决方案2

使用buildConfigField将我需要的东西传递给Java代码

这里的问题是我有两个模块:appapi,其中apiapp的依赖项。在app build.gradle中设置buildConfigField可以让我在app代码中访问它们,但我也需要从api模块访问它。

要根据每个风格改变属性值,可以使用每个风格的资源文件。有关更多信息,请查看Android Gradle插件文档。

PS:如果属性值仅用于激活代码库的不同部分,请考虑使用每种风格的代码。

最新更新