安卓集中营天花板谈Android开发安卓开发

一分钟集成美团Walle多渠道打包

2018-10-12  本文已影响2人  蓝不蓝编程

背景:

为了区分不同应用市场下载的包,对用户展开细分运营分析,需要对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());

image.gif

5.对于要设置到友盟里去,则需要参考友盟的设置方法。

6.打包命令(更多命令及用法参考附录官方指导):

mac:./gradlew clean assembleReleaseChannels
windows:gradlew clean assembleReleaseChannels

7.生成多渠道包截图:

image.png

附录:

  1. Demo github:https://github.com/cxyzy1/walle_demo.git

  2. 美团walle github地址:https://github.com/Meituan-Dianping/walle

上一篇下一篇

猜你喜欢

热点阅读