在使用产品风味时,每种风味的文件都是常见的,哪些文件特定于那种风味?

时间:2016-10-28 10:17:40

标签: android localization

AnythingField

让我们以2种产品风味为例

1。印度 2.美国

构建变体的总数将为4

1。 IndiaDebug 印度发行 3. USADebug 4. USARelease

哪些文件对于所有版本都是通用的,哪些文件是特定于风格的,以及特定于调试和发布的文件?

如果支持本地化,如果英语是印度和美国的通用语言,那么每个版本都会有单独的英文文件或公共文件?

1 个答案:

答案 0 :(得分:1)

产品风味是一种非常棒的解决方案,可以构建具有各种功能的相同应用的不同品种。

特定文件

比如说,你的一个Activity会有不同的功能和用户界面,那么你可以避免将该Activity保存在通用包中并转移到各自的风格。每种风味都可以有单独的javares文件夹以及Manifest(这不是强制性的,Studio可以自行处理)。在这里你应该放置你的特定Activity的java文件和xml文件。

示例:登录屏幕在每种风格中都有不同的用户界面和功能

现在,在运行时和编译时,Android Studio在包之间切换并选择合适的文件。这是通过Build Variant功能

完成的

enter image description here

公共档案

所以来到适用的常见文件是所有的风格,让它在main/javamain/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了解详情。