使用build.grade文件配置相关参数与多渠道打包
2017-07-17 17:23
435 查看
使用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进行正常打包操作,出现下面的界面时![](http://om0qizim4.bkt.clouddn.com/studio_dabao.png)
可以选择单个渠道也可以全选,点击Finish,接下来Android Studio就会进行自动多渠道打包
打完收工,来杯咖啡吧。。。
PS:第一次写博客,还有点小激动呢,虽然内容简单,但总归是一个开始,加油!
![](http://om0qizim4.bkt.clouddn.com/jiayou1.jpg)
相关文章推荐
- as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名
- android 多渠道打包,build.gradle文件配置、manifest文件配置
- as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名
- as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名
- Ant的项目配置文件build.xml(使用jboss-4.2.3GA-jdk6.zip)
- vi/vim使用入门: vimrc在哪儿?vim配置文件相关问题
- hadoop相关配置文件参数详细说明
- 通过minicom传送文件的相关配置及使用方法
- Linux上FTP服务的相关配置1:ftp服务配置文件参数
- CentOS RedHat 5 Yum源使用配置及相关参数详解
- 使用build.xml自动拷贝文件并打包成zip
- spring配置文件在打包使用时找到不路径问题
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- CentOS RedHat 5 Yum源使用配置及相关参数详解
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- 读取属性文件,保存相关配置参数
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本) .
- CentOS RedHat 5 Yum源使用配置及相关参数详解
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)