如果我使用如下命令行在gradle.properties
文件中设置属性:
gradle build -Dproperty=myString
在我的Android项目中,我的资源目录中有一个configuration.properties
,我如何让configuration.properties
从gradle.properties
文件中读取新属性?
我尝试了以下设置:
梯度特性
property=defaultString
anotherProperty=defaultBoolean
配置.属性
myProperty=@property@
潜在解决方案1
为每种口味使用一个configuration.properties
文件
每个风格的资源听起来是个好主意,但我希望在main
中有一个默认列表,并且只覆盖所需的属性。我有很多属性,有些口味只需要覆盖一个。因此,这确实有效,但并不理想。
潜在解决方案2
使用buildConfigField
将我需要的东西传递给Java代码
这里的问题是我有两个模块:app
和api
,其中api
是app
的依赖项。在app
build.gradle
中设置buildConfigField
可以让我在app
代码中访问它们,但我也需要从api
模块访问它。
要根据每个风格改变属性值,可以使用每个风格的资源文件。有关更多信息,请查看Android Gradle插件文档。
PS:如果属性值仅用于激活代码库的不同部分,请考虑使用每种风格的代码。