我正在开发一个应用程序,其中将拥有付费(完整)版本和免费(精简)版本。
在另一个为Android开发的应用程序中,可以使用flavors(productFlavors
)轻松管理此功能,我可以配置替换应用程序的任何部分。例如:我可以为每个应用程序配置applicationId和标志boolean PAID_VERSION
如下:
productFlavors {
free {
applicationId 'com.mycompany.myapp.free'
buildConfigField "boolean", "PAID_VERSION", "false"
}
paid {
applicationId 'com.mycompany.myapp.paid'
buildConfigField "boolean", "PAID_VERSION", "true"
}
}
在代码中,我可以通过以下方式检查PAID_VERSION
标志:
而在代码中,我可以这样检查PAID_VERSION
标志:
boolean b = BuildConfig.PAID_VERSION;
如果我想通过版本更改图标和应用名称,我应该在每个风味(applicationId
)的包中指定替换默认图标的特定图标。例如:
字符串资源应用程序名称:
免费路径:/free/res/values/strings.xml
<resources>
<string name="app_name">My App - Free</string>
</resources>
付费路径:/paid/res/values/strings.xml
<resources>
<string name="app_name">My App - Paid</string>
</resources>
图标资源:
免费路径:/free/res/drawable/icon.png
(免费图片)
付费路径:/paid/res/drawable/icon.png
(付费图片)
问题
如何实现类似于Ionic2/Cordova项目的配置,该项目可以使用相同的代码库生成具有一些不同功能的2个应用程序,并同时独立分发到商店?