AnythingField
让我们以2种产品风味为例
1。印度 2.美国
构建变体的总数将为4
1。 IndiaDebug 印度发行 3. USADebug 4. USARelease
哪些文件对于所有版本都是通用的,哪些文件是特定于风格的,以及特定于调试和发布的文件?
如果支持本地化,如果英语是印度和美国的通用语言,那么每个版本都会有单独的英文文件或公共文件?
答案 0 :(得分:1)
产品风味是一种非常棒的解决方案,可以构建具有各种功能的相同应用的不同品种。
特定文件
比如说,你的一个Activity会有不同的功能和用户界面,那么你可以避免将该Activity保存在通用包中并转移到各自的风格。每种风味都可以有单独的java
和res
文件夹以及Manifest(这不是强制性的,Studio可以自行处理)。在这里你应该放置你的特定Activity的java文件和xml文件。
示例:登录屏幕在每种风格中都有不同的用户界面和功能
现在,在运行时和编译时,Android Studio在包之间切换并选择合适的文件。这是通过Build Variant
功能
公共档案
所以来到适用的常见文件是所有的风格,让它在main/java
和main/res
本身。
理想情况下,根据您的风味数量,bundle.gradle看起来与此类似。
productFlavors {
student {
applicationId "com.abc.student"
}
staff {
applicationId "com.abc.staff"
}
tempstaff {
applicationId "com.abc.tempstaff"
}
}
sourceSets {
tempstaff {
manifest.srcFile 'src/tempstaff/AndroidManifest.xml'
}
student{
manifest.srcFile 'src/student/AndroidManifest.xml'
}
staff {
manifest.srcFile 'src/staff/AndroidManifest.xml'
}
}
现在总结答案,这些文件在整个过程中很常见 应用程序将保留在
main
包中。具体文件 适用于单独的味道将进入那种味道。这意味着 口味可以有额外的活动/功能,而不是一个部分 包括主要在内的其他人
浏览this link了解详情。