Gradel文件配置(多渠道打包)
2016-04-25 17:51
197 查看
这里以友盟打包为例
在manifest中添加如下代码
然后在build.gradle中添加渠道名
还有一种简单的写法
其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。
这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证
![](https://img-blog.csdn.net/20160426092207032)
我们在右侧的Gradle Task面板可以选中相应的渠道包,然后双击,开发工具就自动帮我们打包了。
![](https://img-blog.csdn.net/20160426092433846)
manifestPlaceholders是替换占位符的,用法如下
在manifest文件中用${value}定义
在gradle文件中manifestPlaceholders = [value:”替换结果”]
在manifest中添加如下代码
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application>
然后在build.gradle中添加渠道名
defaultConfig { manifestPlaceholders=[UMENG_CHANNEL_VALUE:'Umeng'] // 默认渠道为Umeng applicationId "com.example.hecun.myapplication" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } productFlavors { googleplay { manifestPlaceholders = [UMENG_CHANNEL_VALUE:'Google Play'] } wandoujia{ manifestPlaceholders = [UMENG_CHANNEL_VALUE: "Wandoujia"] } xiaomi{ } tencent{ } }
还有一种简单的写法
productFlavors { wandoujia {} baidu {} c360 {} uc {} productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } }
其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。
这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证
如何进行单个渠道的打包
我们在右侧的Gradle Task面板可以选中相应的渠道包,然后双击,开发工具就自动帮我们打包了。
manifestPlaceholders是替换占位符的,用法如下
在manifest文件中用${value}定义
在gradle文件中manifestPlaceholders = [value:”替换结果”]
相关文章推荐
- 一小时了解数据挖掘②:分类算法的应用和成熟案例解析
- 一小时了解数据挖掘①:解析常见的大数据应用案例
- HashMap与Hashtable的区别
- 文件下载第三种方式(压缩包里边还有文件夹)
- android webkit 内核
- 一些特征杂记
- php要解决的问题
- 设计模式 - 迭代器模式
- 序列化必须灭亡!
- EventSource
- 文件下载第二种方式--打包下载
- 虚拟机增加Ubuntu磁盘空间的方法
- Mybatis逆向工程的使用方法
- Android捕获全局异常信息并实现上传
- 欢迎使用CSDN-markdown编辑器
- python_笔记8_生成列表,列表表达式
- Linux 安装Mysql
- python和shell变量互相传递的几种方法
- 功率谱估计(转载)
- BOMStream BOMStreamWithFileAndSys