Gradle中productFlavors的使用指南
来源:互联网 发布:节拍器软件 编辑:程序博客网 时间:2024/06/08 18:14
我们都知道gradle非常强大,功能太多,今天就来给大家介绍下productFlavors的逆天用法。productFlavors通常是指同一软件的不同版本,比如收费版,免费版。这个版本的逻辑肯定是不一样的。
如果在使用gradle之前,可能需要比较头痛的写2套代码,但现在,完全可以在一套代码中解决。
比如,我们可以在gradle文件中定义两个flavor。
productFlavors { free { applicationId "com.win16.myapplication2.free" } charge { applicationId "com.win16.myapplication2.charge" } }
我这里做了点扩展,为不同的favors生成了不同的包名。
现在我们有了2个flavor。这时,我们需要在src下,建立两个文件夹,分别以这两个flavor命名。工程结构看起来是这样子的
分别在这两个目录下创建一些代码。比如:
在Free下,
/** * Created by Rex on 2015/12/24. * blog.csdn.net/zoudifei * email:dfzou@live.com * powered by Win16.com */public class Logic { public void someFuction(Context context) { Toast.makeText(context, "This is free version!",Toast.LENGTH_LONG).show(); }}
在Charge下:
/** * Created by Rex on 2015/12/24. * blog.csdn.net/zoudifei * email:dfzou@live.com * powered by Win16.com */public class Logic { public void someFuction(Context context) { Toast.makeText(context, "This is charge version!",Toast.LENGTH_LONG).show(); }}
这两个类的接口是相同的,区别是弹出来的Toast不相同。
然后,我们在main文件夹下使用这个类
new Logic().someFuction(this);
在BuildVarious中,选择chargeDebug
这时发现,在charge目录下面的Java变成了蓝色,这时,表示引用的是此目录下的文件。
小结
其实不管是buildType或是productFlavor都可以用这种方式进行版本的差异化管理。
0 2
- Gradle中productFlavors的使用指南
- Android gradle 中使用productFlavors
- Android开发中Gradle的高级用法---productflavors, buildTypes
- gradle中使用productFlavors实现不同渠道包的应用名不同和logo不同
- Android-->build.gradle-->productFlavors
- 使用gradle的productFlavors实现Android项目多渠道打包
- 使用gradle的productFlavors实现Android项目多渠道打包
- Android 使用gradle的productFlavors实现多渠道打包
- 使用gradle的productFlavors实现Android项目多渠道打包
- 使用gradle的productFlavors实现Android项目多渠道打包
- Android Studio build.gradle productFlavors
- AndroidStudio工程中的build.gradle中的buildTypes、productFlavors的多构建、多渠道打包APK
- [Android]配置Gradle的productFlavors构建项目用于多渠道打包或多环境运行
- gradle批量配置productFlavors(渠道)
- Gradle 使用指南 -- Gradle Task
- android studio中productFlavors配置
- AndroidStudio gradle使用指南
- Gradle用户使用指南
- Explosive
- AD14中自定义PCB板形状
- 从一个有趣的题目理解享元模式
- 黑马程序员__java之多线程上
- Leetcode 8 - String to Integer (atoi)
- Gradle中productFlavors的使用指南
- Hdu 2039(水题) 解题报告
- ui-router系列文章
- 自适应流媒体传输(一)——DASH媒体内容的生成
- java线程池使用
- POJ2192 Zipper(DP||DFS)
- poj 1651 Multiplication Puzzle 【区间dp】
- Java的单例模式
- 前端性能优化的14个规则,学会就偷着乐