大佬教程收集整理的这篇文章主要介绍了Android gradle库资源的产品风味,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的项目有以下结构:
>第三方
>图形
>图标集
> IconsetBase(android-library)
> Iconset1(android-library)
> Iconset2(android-library)
> MainProject
> src
>主要(主要项目)
>风味1
>风味2
> ……
如何将IconsetBase Iconset1的res文件夹内容合并到flavor1和IconsetBase Iconset2到flavor2?
在升级到新gradle之前,这个库(IconsetBase,Iconset1和Iconset2)具有与main相同的包名称
这是我的主要项目的build.gradle:
buildscript { repositories { mavenCentral() } dependencies { repositories { mavenCentral() } classpath 'com.android.tools.build:gradle:0.10.0' } } apply plugin: 'android' repositories { mavenCentral() } android { uSEOldManifestMerger false compileSdkVersion 19 buildToolsVersion "19.0.3" lintOptions { ... } sourceSets { main.java.srcDirs = ['src/main/java'] main.resources.srcDirs = ['src/main/res'] } signingConfigs { ... } buildTypes { ... } // Common dependencies dependencies { compile project(':3rdparty:Graphics:Iconsets:IconsetBase') } defaultConfig { ... } productFlavors { flavor1 { packagename "..."} flavor2 { packagename "..."} } android.sourceSets.flavor1 { dependencies { compile project(':3rdparty:Graphics:Iconsets:Iconset1') } res { srcDir 'flavor1' } resources { srcDir 'flavor1' } } android.sourceSets.flavor2 { dependencies { compile project(':3rdparty:Graphics:Iconsets:Iconset2') } res { srcDir 'flavor2' } resources { srcDir 'flavor2' } } } dependencies { compile 'com.android.support:support-v4:19.1.0' compile 'com.android.support:appcompat-v7:19.1.0' compile 'com.google.android.gms:play-services:4.3.23' }
= EDIT =
进一步说明:
我寻求的是动态地合并来自另一个位置的资源.
背景:flavor1有基本图标设置图像icon1和icon2,flavor2也有基本iconset和icon1和icon2,但每个图标集的图标不同.否则我必须多次使用icon1,icon2等每个味道,并且这些图标的更新/更改必须对现有的每种味道都做(我有20多个)
这可以通过一些没有库的自定义任务来实现吗?
productFlavors { flavor1 { ... dependencies { flavor1Compile project(':iconSet1') } } flavor2 { ... dependencies { flavor2Compile project(':iconSet2') } } }
在您的构建中,依赖项位于sourceSets中,这是错误的.
编辑
好的,我希望我现在能更好地理解你的目标.您可以做的是为每个flavor定义多个资源目录:
android { sourceSets { flavor1 { res.srcDirs = ['flavor1','../3rdparty/Graphics/Iconsets/Iconset1/res'] } flavor2 { res.srcDirs = ['flavor2','../3rdparty/Graphics/Iconsets/Iconset2/res'] } } }
以上是大佬教程为你收集整理的Android gradle库资源的产品风味全部内容,希望文章能够帮你解决Android gradle库资源的产品风味所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。