如何在library中使用productFlavors
来源:互联网 发布:judy兔子 知乎 编辑:程序博客网 时间:2024/06/07 09:34
前言:
前面笔者介绍过,如果用一套代码,定制化多个app。那就是使用productFlavors。
一般情况下都没有问题,但是在library的gradle里面,直接使用productFlavors是不允许的。所以下面我们就来介绍一下如何在library中使用productFlavors。
1.基础
前面介绍过如何使用productFlavors,不了解的朋友需要先看看这篇文章
活用productFlavors,批量定制化
http://blog.csdn.net/yulyu/article/details/59111697
2.场景介绍
首先我们引用了一个picmodule,然后picmodule里面有一个正常的产品,两个定制化的产品
main是普通产品,red和blue是定制化产品(这里只是里面使用的图片不一样)
3.解决方法
于是我们就在picmodule的gradle配置productFlavors,但是picmodule是属于一个library,所以这样做是不允许的,项目将找不到引入的picmodule
那么如何解决呢?
首先我们需要在picmodule的gradle里面加入一句话(记住不要漏了)
publishNonDefault true
接着我们在application下的build.gradle里面加入一些配置
在Android模块内加入
productFlavors{ common{} red{} blue{}}
在gradle最外层加入
configurations { commonCompile redCompile blueCompile}
接着修改一下引入picmodule的方法
平时引入module是这样的
compile project(':picmodule')
我们改成下面这样
commonCompile project(path: ':picmodule', configuration: 'commonRelease')redCompile project(path: ':picmodule', configuration: 'redRelease')blueCompile project(path: ':picmodule', configuration: 'blueRelease')
这里library我是用的Release包,如果要用debug版的library也可以改成下面这样
commonCompile project(path: ':picmodule', configuration: 'commonDebug')redCompile project(path: ':picmodule', configuration: 'redDebug')blueCompile project(path: ':picmodule', configuration: 'blueDebug')
然后同步一下就可以了
这个时候如果找不到R文件,那么clean一下或者重启一下as都可以
4.Demo地址
Demo地址
http://download.csdn.net/detail/yulyu/9820032
热门文章
- 嘿,程序猿,你该学点经济学了!
- 面试时,你被问到过 TCP/IP 协议吗?
- Glide-源码详解
- 渐进式加载-基础讲解
- 活用productFlavors
- onTouch事件传递
- 那些年我们解决滑动冲突时遇过的坑
- 进程间通信–AIDL
- 序列化–Serializable与Parcelable
- 如何解决内存溢出以及内存泄漏
- Okhttputils终极封装
- FaceBook推出的调试神器
- Android代码优化工具
- Glide-入门教程
- Glide-图片预处理(圆角,高斯模糊等)
- Glide-图片的压缩
- Glide-内存缓存与磁盘缓存
- Glide-自定义缓存
- 如何在library中使用productFlavors
- Android开发如何使用productFlavors
- Android gradle 中使用productFlavors
- 如何在Library Project中使用ButterKnife
- productFlavors在Lib(Module)中的使用
- 如何在WSS中使用Microsoft Enterprise Library
- 在 library 中使用 ButterKnife
- android library增加productFlavors,并在app module 引用某个flavors
- Android组件化探索之Library productFlavors
- iOS 在Xcode中使用C++ Library
- 在Library中使用jack编译
- 如何在Eclipse中Android Private Library中关联源码
- Gradle中productFlavors的使用指南
- android studio中productFlavors配置
- 在 library 中使用 ButterKnife butterknife R2类在library module中并不能用
- 在MyEclipse中如何构建自己的library
- 如何在Android Studio中引入Library Project
- 如何在Eclipse和Android Studio中导入library project
- TI CC2530处理器介绍
- ubuntu 安装vagrant过程 实测可用,注意细心
- 有序表和无序表分别进行顺序查找,对于查找失败的情况下,它们的平均查找长度是不同的
- emulator: Failed to sync vcpu reg emulator: Failed to sync HAX vcpu context 解决方法
- pycharm+mysql连接
- 如何在library中使用productFlavors
- Driver/Firmware/NVM/PHYID of Intel adapters in purley server
- 【TensorFlow_Fold】计算图连接初探 Diamond计算图调试历程
- android学习笔记(6)
- VR视频直播播放器
- symmetric-tree
- 删除表+闪回删除+查询数据字典+查看回收站删除的表+清空回收站
- poj 2456 Aggressive cows (二分求最大值)
- 解决Ubuntu14.04自带拼音输入问题