背景:
为了区分不同应用市场下载的包,对用户展开细分运营分析,需要对apk区分出不同的渠道。本文介绍集成美团Walle的具体实践步骤。
集成方法:
1.修改项目根目录下build.gradle文件,在buildscripts下的dependencies中增加:
classpath 'com.meituan.android.walle:plugin:1.1.6'
2.修改app工程的build.gradle文件,增加如下信息:
1)头部增加:
apply plugin: 'walle'
2)确保有签名配置,下面是样例,
signingConfigs {
release {
storeFile file("../test.jks")
storePassword "123456"
keyAlias "test"
keyPassword "123456"
}
debug {
storeFile file("../test.jks")
storePassword "123456"
keyAlias "test"
keyPassword "123456"
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
}
image.gif
3)增加如下配置(按照下面配置生成的渠道包在build/outputs/channels目录下,而不是build/outputs/apk目录):
walle {
// 指定渠道包的输出路径
apkOutputFolder = new File("${project.buildDir}/outputs/channels");
// 定制渠道包的APK的文件名称
apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk';
// 渠道配置文件
channelFile = new File("${project.getProjectDir()}/channel")
}
4)在dependencies中增加:
implementation 'com.meituan.android.walle:library:1.1.6'
image.gif
3.在app工程下新建文件channel,放置渠道信息(根据实际需要修改):
xiaomi
360
huawei
vivo
4.获取渠道样例:
String channel = WalleChannelReader.getChannel(this.getApplicationContext());
5.对于要设置到友盟里去,则需要参考友盟的设置方法。
6.打包命令(更多命令及用法参考附录官方指导):
mac:./gradlew clean assembleReleaseChannels
windows:gradlew clean assembleReleaseChannels
7.生成多渠道包截图:
image.png附录:
-
Demo github:https://github.com/cxyzy1/walle_demo.git
-
美团walle github地址:https://github.com/Meituan-Dianping/walle
网友评论