我有两个版本的应用程序:premium和free。现在对我来说,高级版的功能在验证后才起作用:
if (isPremiumVersion){
//to do premium fuctions
}.
但我不认为这是好的基调。如何划分这两个版本,它们是相互独立的?只有在应用程序开始时才进行验证,然后已经,例如,用某个包和类启动某个清单文件。不幸的是,最终找不到材料,做得更准确。
答案 0 :(得分:1)
您需要的是Product flavors。
您可以在build.gradle
中定义它们:
android {
....
productFlavors {
free {
applicationId 'com.myapp.free'
}
premium {
applicationId 'com.myapp.premium'
}
}
}
对于每种产品风格,您可以通过在app src
目录中创建名称为flavor的目录来创建自己的源代码集,这样您的应用结构就像:
src/
main/
free/
premium/
您可以在风味源集中添加自定义的AndroidManifest.xml
,资源和来源,它们将与main
来源集合合并。
您应该仔细阅读上面提到的链接中的官方文档。我在这里描述了更多的可能性和细节。