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

想要做渠道统计,有一个要求就是要在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 assembleRelease

只打Release包

./gradlew assembleDebug

只打Debug包

./gradlew assemble_360

只打360的渠道包

./gradlew assemble_360Release

只打360的release渠道包

更多相关文章

  1. 解决:AndroidStudio 下使用AIDL不能生成对应java文件
  2. 尽管在清单文件中指定了权限,但是ACCESS_FINE_LOCATION SecurityE
  3. Android Web-View:将本地Javascript文件注入远程网页
  4. Ubuntu Android/Sdk/build-tools/23.0.3/aapt": error=2, 没有那
  5. 小米1出现的资源文件找不到问题!
  6. android文件读写,ndk文件读写
  7. Gradle for Android 系列:初识 Gradle 文件
  8. Android SQLite的数据库文件存储在SD卡中(一)
  9. 反编译APK 得到JAVA代码和资源文件源码

随机推荐

  1. 我的常用软件大公开!
  2. [每日前端夜话0xBB]
  3. 纯CSS3人物行走动画,超级逼真
  4. 听说你只会用注解,不会自己写注解?
  5. 在 Vue.js 中使用无状态组件[每日前端夜
  6. Node.js 应用最佳实践:日志[每日前端夜话0
  7. 试水JetBrains官方新编程字体,真香!
  8. CSS3超炫酷圆形计时器进度条动画
  9. jQuery 美化界面的下拉框
  10. 昨夜,我梦回武汉 . . .