我有一个与这个问题直接相关的问题:如何让两个构建风格继承 Android Studio 中的根风格? https://stackoverflow.com/questions/26636282/how-to-have-two-build-flavors-inherit-from-a-root-flavor-in-android-studio/26637371?noredirect=1#comment44814977_26637371但将其拉到另一个问题中是有意义的。我的 build.gradle 中有这个:
flavorGroups 'fruit', 'paid'
productFlavors {
apple {
flavorGroup 'fruit'
}
orange {
flavorGroup 'fruit'
}
free {
flavorGroup 'paid'
}
premium {
flavorGroup 'paid'
}
}
目前我有四个独特的应用程序。
- 苹果免费
- 苹果付费
- 橙色免费
- 橙色付费
但他们还没有唯一的包名称/应用程序 ID。
在这种情况下,如何设置四个唯一的应用程序 ID/包名称?
我试过什么?
在上一个问题中,@Scott Barta 建议在清单中为四个应用程序中的每一个设置包名称。
当我尝试创建四个附加清单时(注意:我之前在 /main 中有一个“核心”清单),我收到错误:清单合并失败:AndroidManifest.xml 中的 Main AndroidManifest.xml 清单:未声明包属性。似乎我从核心清单文件(在 /main 中)中删除了它不想构建的包名称。
最简单的定制方法applicationId
是使用格拉德尔的applicationIdSuffix财产 https://futurestud.io/tutorials/android-how-to-have-multiple-app-dev-versions-on-your-devices。下面的例子:
defaultConfig {
applicationId 'com.example'
}
flavorGroups 'fruit', 'paid'
productFlavors {
apple {
flavorGroup 'fruit'
applicationIdSuffix '.apple'
}
orange {
flavorGroup 'fruit'
applicationIdSuffix '.orange'
}
free {
flavorGroup 'paid'
applicationIdSuffix '.free'
}
premium {
flavorGroup 'paid'
applicationIdSuffix '.premium'
}
}
Gradle 内置了功能齐全的编程语言 Groovy,因此您可以做更多事情精心制作的巫术 https://stackoverflow.com/a/26628240/40352比这更好,但这是最简单的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)