我想创建一个具有两种功能的应用程序,一种功能较少,而另一种功能较多。我该怎么做
让我们假设有
A-应用
flavor 1-功能1,功能2
flavor 2-功能1,功能2,功能3
如何发布一个APK
以及用户如何从Play商店安装应用程序,用户将如何知道将要安装哪种版本
最佳答案
There is nice documentation from google.
多种口味
您应该在构建文件中声明 flavor
android {
...
defaultConfig {...}
buildTypes {...}
productFlavors {
demo {
applicationIdSuffix ".demo"
versionNameSuffix "-demo"
}
full {
applicationIdSuffix ".full"
versionNameSuffix "-full"
}
}
}
构建后,将创建两个apk文件。它们具有不同的应用程序ID,因此您可以将它们作为两个不同的应用程序发布到Play商店。例如,一个免费,一个付费。
功能
可以有更多解决方案,但是最简单的解决方案是使用buildConfigField。
productFlavors {
demo {
applicationIdSuffix ".demo"
versionNameSuffix "-demo"
buildConfigField "boolean", "FEATURE_1", "true"
buildConfigField "boolean", "FEATURE_2", "false"
buildConfigField "boolean", "FEATURE_3", "false"
}
full {
applicationIdSuffix ".full"
versionNameSuffix "-full"
buildConfigField "boolean", "FEATURE_1", "true"
buildConfigField "boolean", "FEATURE_2", "true"
buildConfigField "boolean", "FEATURE_3", "true"
}
}
然后,在Java源代码中,您可以检查是否启用了功能:
if (BuildConfig.FEATURE_1) {
//run feature
}
文档中介绍了其他方法。
关于android - 构建多种口味的android应用会创建多个apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45980095/