android umeng渠道导报,Android 多渠道打包(walle 打包)+Umeng渠道配置

以前项目一直使用Python脚本进行打包,自打Android7.0出来之后发现Python脚本打出来的包,不能以adb install 方式安装到7.0 的手机上,于是市场毫不留情的就把Apk打回来了,原来Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。原来的Python脚本打出来的包都是基于v1打的,不适用于Android7.0。这个时候发现Android Studio 自身的打包可以打V2的包,但是试了一次打三个渠道包,速度真是不忍直视,打个包出来速度出奇的慢,Android 的渠道有多,这种方式打包太费时间,于是找到了美团的walle 打包,集成后发现速度杠杠的。下面来介绍一下walle的集成步骤吧

1、配置gradel

在位于项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖, 如下:

buildscript {

dependencies {

classpath 'com.meituan.android.walle:plugin:1.1.5'

}

}

在当前App的 build.gradle 文件中apply这个插件,并添加上用于读取渠道号的AAR

apply plugin: 'walle'

dependencies {

compile 'com.meituan.android.walle:library:1.1.5'

}

2、配置插件

在当前App的 build.gradle 文件中配置

walle {

apkOutputFolder = new File("${project.buildDir}/outputs/channels")

apkFileNameFormat = '${appName}-${channel}.apk'

//configFile与channelFile两者必须存在一个,否则无法生成渠道包。两者都存在时优先执行configFile

channelFile = new File("${project.getProjectDir()}/channel")

//configFile = new File("${project.getProjectDir()}/config.json")

}

配置解释:

apkOutputFolder apk输出目录 例子中的最终Apk 目录是在 app/build/outputs/channels 下,这个目录不需要我们自己建,打包完成会自己建好的

apkFileNameFormat 打包出来的App名字

channelFile 渠道包信息文件目录

渠道包信息文件配置,上述例子中的文字路径是app/channel

#自定义的

#自定义的

line

#应用宝

myapp

#360市场

market360

#豌豆荚

wandoujia

#小米

xiaomi

#华为

huawei

#百度

baidu

#vivo

vivo

#open

oppo

#酷安

kuan

贴一张我的项目结构出来,看一下配置文件对应的目录

a306e9485671

40A6D3ED-D053-4EBF-9C14-B398F6DE06E1.png

到这里我们配置信息就完成了,接下来就可以直接打包了

在Android studio 的Terminal 中输入 ./gradlew clean assembleReleaseChannels 回车即可

a306e9485671

6206C550-C71E-4012-A36A-1752EE5625CC.png

回车后看见下列信息就表示打包完成了

a306e9485671

7016A99F-7CFC-4600-AC52-EB3E05BAE802.png

a306e9485671

3F60EC10-A7C3-4CFD-B2F6-C6F31AA8CA37.png

10个渠道只用了三分多钟是不是挺快,如果使用Android studio自带打包工具,至少30+分钟。

渠道包是可以打好了,但是这个渠道umeng并不知道,所以我们还需要将这个渠道名配置到umeng中去

walle 提供了获取渠道信息的类

String channel = WalleChannelReader.getChannel(this.getApplicationContext());

我们需要做的是将它赋值给umeng

在Application 中初始化umeng

String channel = Const.DEBUG ? "line" : WalleChannelReader.getChannel(this.getApplicationContext());

String umengAppkey = "1111111111111111";

MobclickAgent.UMAnalyticsConfig umAnalyticsConfig = new MobclickAgent.UMAnalyticsConfig(this,

umengAppkey,

channel,

MobclickAgent.EScenarioType.E_UM_NORMAL,

true);

MobclickAgent.startWithConfigure(umAnalyticsConfig);

MobclickAgent.setDebugMode(Const.DEBUG);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值