Android gradle flavor替代java代码文件

时间:2015-01-01 08:24:54

标签: android android-gradle

在我的应用程序中,我有3个productFlavors, 其中2个应使用相同的类文件,第3个应使用其他类文件(相同的类名称不同的内容)

我试图避免将类文件复制到2个flavor目录中。

这是我的配置: 我试图让x86和armv7使用相同的java资源 和“其他”使用不同的

productFlavors {
        armv7 {
            versionCode defaultConfig.versionCode + 2
            minSdkVersion 14
            ndk {
                abiFilters "armeabi-v7a", ""
            }

        }
        x86 {
            versionCode defaultConfig.versionCode + 4
            minSdkVersion 14
           ndk {
                abiFilters "x86", ""
              }
        }
        other {
            versionCode defaultConfig.versionCode + 0
            minSdkVersion 10

        }

 }

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

你可以通过下一个方式做到这一点。例如,将您的公共类移动到独立目录not_other,并将其包含在sourceSets的两种风格中,请参阅build.gradle以下

android{
      ...
        productFlavors{
        armv7 {
           ...
        }
        x86  {
           ...
        }
        other  {
           ....
        }
    }

    sourceSets{
        armv7.java.srcDirs = ['src/armv7/java', 'src/not_other/java']
        x86.java.srcDirs = ['src/x86/java', 'src/not_other/java']
    }
}