Android gradle flavor Alternate java 代码文件

Android gradle flavor Alternate java Code files

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

我试图避免将 class 文件复制到 2 个不同的目录中。

这是我的配置: 我试图让 x86 和 armv7 使用相同的 java 资源 和 "other" 使用不同的

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

        }

 }

感谢帮助!

你可以用下面的方法来做。例如,将您的通用 class 移动到独立目录 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']
    }
}