文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在Android中利用Walle实现一个多渠道打包功能

2023-06-14 14:26

关注

怎么在Android中利用Walle实现一个多渠道打包功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

使用

使用Walle生成多渠道的速度是很快的,原来的项目打一个包就需要两分钟多,每次发布打7个包需要十几分钟。用了Walle后,7个包只要两分钟左右就完事了。那叫一个快…

添加依赖&配置渠道,在项目的build.gradle文件中添加依赖:

buildscript {    dependencies {        classpath 'com.meituan.android.walle:plugin:1.1.3'    }}

在当前app的build.gradle 文件中添加依赖,以及配置插件

apply plugin: 'walle'...dependencies {    ...    compile 'com.meituan.android.walle:library:1.1.3'}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")}

对应的属性:

apkOutputFolder:指定渠道包的输出路径, 默认值为:

new File("${project.buildDir}/outputs/apk")

这里指定为build/outputs/apk。

apkFileNameFormat:定制渠道包的APK的文件名称, 默认值为:

'appName−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 名

channelFile:包含渠道配置信息的文件路径

channelFile:包含渠道配置信息的文件路径。

在app目录下创建channel文件,用于配置渠道信息(文件类型:Text)

怎么在Android中利用Walle实现一个多渠道打包功能

下面是我的配置表

   Qh460 #360   Yyb #应用宝   Wdj #豌豆荚   Lenovo #联想   Xiaomi #小米   Huawei #华为   Meizhu #魅族

获取渠道信息,通过以下代码,可以取渠道信息:

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

生成渠道包,到这里,基本的配置都已完成。接下来可以直接打包了。

在Terminal中输入对应的指令,即可完成打包。看到BUILD SUCCESSFUL后说明已经完成打包了。

怎么在Android中利用Walle实现一个多渠道打包功能

所有渠道

./gradlew clean assembleReleaseChannels

渠道包的生成目录默认存放在 build/outputs/apk/,也可以通过Walle闭包中的apkOutputFolder参数来指定输出目录。

指定渠道
生成单个渠道包(huawei渠道):

./gradlew clean assembleReleaseChannels -PchannelList=huawei

生成多个渠道包(huawei、xiaomi渠道):

./gradlew clean assembleReleaseChannels -PchannelList=huawei,xiaomi

结果,运行

./gradlew clean assembleReleaseChannels

可以在build/outputs/channels看到对应的渠道包。

怎么在Android中利用Walle实现一个多渠道打包功能

关于怎么在Android中利用Walle实现一个多渠道打包功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯