android – Gradle – 继承产品风味

前端之家收集整理的这篇文章主要介绍了android – Gradle – 继承产品风味前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有3种产品口味,不包括主要口味:
productFlavors {
    xxx {
        applicationId 'com.xxx'
    }
    yyy {
        applicationId 'com.yyy'
    }
    zzz {
        applicationId 'com.zzz'
    }
}

据我了解,这些产品风格继承了main的资源,它看起来像这样:

+------->xxx
        |           
main----+------->yyy
        |           
        +------->zzz

因此,当我构建xxx时,Gradle捆绑来自src / main和src / xxx文件夹的东西.

现在,我需要它看起来像这样:

+------->xxx           
        |                      
main----+------->yyy------->zzz

换句话说,我希望zzz使用yyy的资源以及main的资源. Gradle可以这样做吗?

解决方法

这可能取决于你想要在zzz中“覆盖”的确切内容.
在我的项目中,我也需要productFlavor继承.但我只需要覆盖清单.我使用自定义AndroidManifest.xml为zzz创建了目录,并在build.gradle中将其他zzz src路径更改为yyy:
sourceSets {
    zzz.java.srcDirs = ['src/yyy/java']
    zzz.res.srcDirs = ['src/yyy/res']
    ...
    ...
}

productFlavors {
   xxx {}
   yyy {}
   zzz {}
}

附:为此https://code.google.com/p/android/issues/detail?id=183350创建了功能请求

猜你在找的Android相关文章