安卓多渠道打包(二)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---------------------------------------------------------------------------

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

目录
相关文章
|
7月前
|
敏捷开发 Java 机器人
云效产品使用常见问题之打包后的Android应用获取下载地址失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
安全 Java Android开发
05. 【Android教程】Android 程序签名打包
05. 【Android教程】Android 程序签名打包
73 1
|
4月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
368 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
5月前
|
Android开发
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
155 0
|
6月前
|
Java 开发工具 Android开发
详细解读Android开发DNK开发将.c文件打包成os
详细解读Android开发DNK开发将.c文件打包成os
36 0
|
6月前
|
jenkins 持续交付 开发工具
Android使用Jenkins打包自动维护sdk版本号
Android使用Jenkins打包自动维护sdk版本号
67 0
|
6月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
346 0
|
7月前
|
Java Linux 调度
Android 打包分析
Android 打包分析
65 2
|
7月前
|
设计模式 缓存 Java
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
|
7月前
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
297 0