Douts有口味和包装名称

时间:2017-07-11 09:47:05

标签: android android-studio android-productflavors

我的应用上有两个Flavors,所以我的项目有这样的结构:

productFlavors {
            green {
                resValue "string", "app_name", "green"
                minSdkVersion 14
                applicationId 'com.company.green'
                targetSdkVersion 22
                versionCode 3
                versionName '3.0.3'
            }

            red {
                resValue "string", "app_name", "red"
                minSdkVersion 14
                applicationId 'com.company.red'
                targetSdkVersion 22
                versionCode 3
                versionName '3.0.3'
                 }
             }          

此外,我在主程序包中的每个Flavor和公共类中都有不同的类实现 现在我们说我必须实现这个类:

  

MyClass的

该类对每种风格都有不同的实现,所以我在绿色和红色Flavor

中实现了类

在绿色MyClass上创建Flavor后,我遇到了此错误 在课堂上。

  

包名com.company.MyClass与文件路径

不对应

我也试过

package com.company.green.MyClass

但是我得到了相同的包名错误

所以我的问题是: 每个Flavor的包名是什么?

1 个答案:

答案 0 :(得分:0)

文件MyClass.java应位于以下两个位置: <project>/<module>/src/green/java/com/company/MyClass.java <project>/<module>/src/red/java/com/company/MyClass.java

并且应该有package com.company
所以applicationId设置的风格不会影响包的名称和类的位置。

然后,您可以在项目中的任何位置import com.company.MyClass进行MyClass的适当版本。

file tree

有关详细信息,请查看此gist