【发布时间】:2015-12-25 03:37:45
【问题描述】:
我正在构建一个具有不同构建变体风格的应用。口味是“免费”和“付费”。我想在我的 java 类上创建一些逻辑,只有在应用程序是“付费”时才会触发这些逻辑。因此,我需要一种在 gradle 构建过程中设置“applicationId”的方法,如下所示:
gradle.build
productFlavors {
free {
applicationId "com.example.free"
resValue "string", "app_name", "Free App"
versionName "1.0-free"
}
paid {
applicationId "com.example.paid"
resValue "string", "app_name", "Paid App"
versionName "1.0-paid"
}
获得应用程序 ID 后,我可以执行以下操作:
if(whateverpackageid.equals("paid")) {
// Do something or trigger some premium functionality.
}
我是否正确地说,在 gradle 构建过程中,一旦应用程序被编译,“applicationId”最终会变成“包名”?如果是这样,获取“应用程序 ID”或“包名称”的最佳方法是什么,以便我可以在我的 java 文件中实现一些依赖于风味的逻辑?
【问题讨论】:
标签: android gradle android-productflavors