csonezp

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  69 随笔 :: 0 文章 :: 50 评论 :: 37万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

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

posted on   csonezp  阅读(7408)  评论(4编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示