使用build.grade文件配置相关参数与多渠道打包
来源:互联网 发布:伤感网络歌曲下载 编辑:程序博客网 时间:2024/05/20 07:36
使用build.grade文件配置相关参数与多渠道打包
晨鸣的博客–使用build.grade文件配置相关参数与多渠道打包
使用build文件配置相关参数
在Android开发过程中,有时我们需要在AndroidManifest.xml文件中配置一些常量参数,一般是以标签进行添加,例如友盟的APPID,或者是项目中需要自定义的参数。
一般情况下我们是在AndroidManifest.xml文件中直接配置如下代码
<meta-data android:name="UMENG_APPKEY" android:value="570ef55667e58e7d112231fe" />
有过完整项目开发的程序猿都应该知道,当项目越来越大的时候,Manifest文件也会越来越大,需要进行配置的参数也会越来越多,当我们想要对相关配置信息进行配置修改时就会特别头疼,例如我们在测试环境时由一套测试的配置参数,生产环境时又是一套生产的配置参数,每次在测试环境与生产环境之间进行切换时就得小心翼翼的进行修改。
其实在Android Studio中我们完全可以通过build.gradle对这些配置参数进行统一管理(Eclipse请自行绕道),配置过程如下:
修改Manifest文件(以友盟配置为例)
<meta-data android:name="UMENG_APPKEY" android:value="${UMENG_APPKEY_VALUE}" /><meta-data android:name="UMENG_MESSAGE_SECRET" android:value="${UMENG_MESSAGE_SECRET_VALUE}" />
注意配置中value是以“${xxx}”格式填写
配置module下的build.gradle文件
打开build.gradle文件我们可以看到一个defaultConfig{}参数
defaultConfig { applicationId "com.lcm.test" minSdkVersion 15 targetSdkVersion 23 versionCode 14 versionName "1.0.0" multiDexEnabled true //避免65536 }
ps:配置multiDexEnable为true可以解决程序65536的错误哦。
然后在defaultConfig{}中加入如下代码
manifestPlaceholders = [ //友盟正式账号 UMENG_APPKEY_VALUE : "570ef55667e58e7d144521fe", UMENG_MESSAGE_SECRET_VALUE: "e227334bae1c600195ed38c6935eb346", //友盟测试账号// UMENG_APPKEY_VALUE : "578857e367e58e4c6600161c",// UMENG_MESSAGE_SECRET_VALUE: "1975041789c670c872afbfd4866fca87" ]
可以看到在manifestPlaceholders中是以key-value的形式配置了参数,key就是Manifest中配置的”${xxx}”中的”xxx”,而value值就是你需要配置的参数。我同时配置了一套测试参数,这样在开发与测试时只要注释掉另一套参数就OK啦,简单方便你值得拥有。
使用build.gradle进行多渠道打包
多渠道打包相信大家都不会陌生,一般情况下是项目中集成了类似于友盟或者TalkingData的统计代码时,需要根据应用的发布平台进行相应的配置,同样是在manifest中配置如下
<meta-data android:name="UMENG_CHANNEL" android:value="yingyongbao" />
进行多渠道打包可以有以下几种方法:
1、一个一个的去配置,每打一个包就去重新配置下一个渠道信息再打包。(累死你!)
2、使用第三方的多渠道打包工具,现在有好多第三方的多渠道打包工具,例如友盟、360等,一键生成多渠道包。
3、高级玩家使用Python脚本进行多渠道打包(并不会 -_-||)。
这里介绍的是使用gradle文件进行多渠道打包配置:
修改manifest文件
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
是不是很熟悉。。。
配置module下的build.gradle文件
在gradle文件的android{}中添加如下代码
productFlavors { wangdoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomipingtai"] } anzhi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "anzhishichang"] }}
或者进行批量处理
productFlavors { baiduzhushou {} yingyongbao {} wandoujia {} huaweipingtai {} xiaomipingtai {} meizupingtai {} sanxingpingtai {} qihu360 {} anzhishichang {} mumayi {} }productFlavors.all { flavor -> flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE: name, ] }
使用Android Studio进行多渠道打包
然后使用Android Studio进行正常打包操作,出现下面的界面时
可以选择单个渠道也可以全选,点击Finish,接下来Android Studio就会进行自动多渠道打包
打完收工,来杯咖啡吧。。。
PS:第一次写博客,还有点小激动呢,虽然内容简单,但总归是一个开始,加油!
- 使用build.grade文件配置相关参数与多渠道打包
- android 多渠道打包,build.gradle文件配置、manifest文件配置
- Grade多渠道打包
- Android studio 多渠道(多环境)打包grade配置详解
- Gradel文件配置(多渠道打包)
- build多渠道打包
- 多渠道打包相关问题
- 多渠道打包相关
- 多渠道打包(Gradle配置)
- Gradle配置多渠道打包
- 多渠道打包配置
- android Studio 使用gradle 参数解释及多渠道打包
- 使用gradle多渠道打包
- AndroidStudio多渠道打包使用
- Apk打包与多渠道打包
- 多渠道打包build.gradle收藏版
- 简单的多渠道打包build.gradle模板
- Maven中Pom文件打包配置build
- node.js
- 写个接口的实现类,在方法的前面加了@Override居然报错
- JavaWeb程序运行缓慢原因分析之一
- java中的sleep()和wait()的区别
- 三天入门Python---文件操作(第三天)
- 使用build.grade文件配置相关参数与多渠道打包
- es6学习笔记1
- readDataToDic.py文件升级改版(附加各个属性的list、dic方法)
- Git撤销修改
- Java精选笔记_JavaBean
- 以太坊之部署智能合约
- spring boot 项目代理配置
- ANDROID 高性能图形处理 之 二. OPENGL ES
- 面向对象学习第四节