| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

Android Gradle实用技巧 - 多渠道打包

原文  http://www.cnblogs.com/csonezp/p/4900042.html


友盟有很多不错的功能,例如渠道统计等。

想要做渠道统计,有一个要求就是要在manifest文件中添加各个渠道的配置。只有一两个渠道还好说,但是渠道多了的话,手动修改然后打包简直是噩梦。

幸好现在Android的构建工具换成了gradle,通过gradle,简单配置后就可以实现自动打所有渠道包。原理是android gradle的productFlavors和variants,不懂的可以先搜索一下。

1,首先,按照umeng的要求,manifest文件中需要有

<meta-data              android:name="UMENG_CHANNEL"              android:value="{$UMENG_CHANNEL_VALUE}" />

这段配置,value那里就是wandoujia,360之类的渠道名称,但是我们在这里不会去写渠道名,写的是一个占位符,后面gradle编译的时候会动态的替换掉它。

2,在module(一般也就是app)的build.gradle中添加如下内容:

productFlavors {    xiaomi {      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]    }    yingyongbao {      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]    }    _360 {      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"]    }  }

productFlavors是android节点的一个自节点。你需要打什么渠道的包,就在这里按umeng的要求把渠道名写到UMENG_CHANNEL_VALUE后面。

3.这个时候去工程的根目录,也就是有gradlew文件的目录,打开命令行,输入命令:

./gradlew assemble

这时候你去app/build/outputs/apk中就能看到自动打好的渠道包了。附送几条命令:

./gradlew assemble_Release

只打Release包

./gradlew assemble_Debug

只打Debug包

./gradlew assemble_360

只打360的渠道包

./gradlew assemble_360Release

只打360的release渠道包

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1445485460179.html
项目构建 Android Gradle