安卓多渠道打包(二)walle多渠道打包

如题,使用美团walle进行多渠道打包。
关于安卓原生打包,请移步上一篇文章:原生多渠道打包
官网教程:
https://github.com/Meituan-Dianping/walle

马上发车

(一)生成签名,并在主项目build.gradle配置

核心代码如下:


签名配置

注意,不使用签名会在编译阶段null point错误。

(二)导入walle相关依赖

根build.gradle文件依赖如下图:


根build.gradle新增依赖

主项目buill.gradle新增配置如下:


plugin

library

至此,依赖配置完成。

(三)配置walle打包参数

直接在主项目的build.gradle文件中配置,代码如下:


/**
 * apkOutputFolder:指定渠道包的输出路径, 默认值为new File("${project.buildDir}/outputs/apk")
 * channelFile:包含渠道配置信息的文件路径。
 * apkFileNameFormat:定制渠道包的APK的文件名称, 默认值为'${appName}-${buildType}-${channel}.apk'
 * 可使用以下变量:
 *      projectName - 项目名字
 *      appName - App模块名字
 *      packageName - applicationId (App包名packageName)
 *      buildType - buildType (release/debug等)
 *      channel - channel名称 (对应渠道打包中的渠道名字)
 *      versionName - versionName (显示用的版本号)
 *      versionCode - versionCode (内部版本号)
 *      buildTime - buildTime (编译构建日期时间)
 *      fileSHA1 - fileSHA1 (最终APK文件的SHA1哈希值)
 *      flavorName - 编译构建 productFlavors 名
 * */
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")
}

对于channel文件,放在了app目录下,如下图:


channel文件目录存放位置

至此,配置完毕

(四)开始打包

打开androidstudio并在terminal输入相关指令,这里我输入的是全渠道打包指令:
gradlew clean assembleReleaseChannels
另外的指令,也可在github官网查询得到。
最后打包完成后的目录结构图片如下:


打包生成目录

最后,附上源码demo:传送门

that's all---------------------------------------------------------------------------

备注,对于加固失效问题,请移步官方指引:加固失效

你可能感兴趣的:(安卓多渠道打包(二)walle多渠道打包)