[英]Reading metadata from build.gradle
根据这个我可以在我的Android Studio项目的几个“口味”。 但是,看来我只能创建两个要构建的树。
是否可以在build.gradle
文件中添加变量,以便随后从代码中进行访问,以便可以对应用程序的构建方式进行更细粒度的控制?
例如在我的build.gradle
:
productFlavors {
free {
applicationId "com.example.app.free"
showAds "yes"
}
full {
applicationId "com.example.app.full"
showAds "no"
}
}
然后在我的代码中
String showAds = Gradle.getString("showAds");
if ("yes".equals(showAds)) {
// show ads
}
是否可以在gradle.build文件中添加变量,以便随后从代码中进行访问,以便可以对应用程序的构建方式进行更细粒度的控制?
我认为您的意思是您的build.gradle
文件。
对于您的特定情况,您可以只使用已经存在的BuildConfig.FLAVOR
,它将是free
或paid
。
或者,您可以使用buildConfigField
将自己的字段添加到BuildConfig
:
productFlavors {
free {
applicationId "com.example.app.free"
buildConfigField "boolean", "I_CAN_HAZ_ADS", 'true'
}
full {
applicationId "com.example.app.full"
buildConfigField "boolean", "I_CAN_HAZ_ADS", 'false'
}
}
然后,您将在Java代码中引用BuildConfig.I_CAN_HAZ_ADS
。
请注意,我仅将BuildConfig
字段用于String
类型,而不是boolean
。 AFAIK,像这样的任何简单类型都应该起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.