发布信息

下一代的Android渠道打包工具,你知道吗?

作者:软荐小编      2024-01-26 15:07:46     201

【回复“1024”软件打包工具,给你发特推】

软件打包工具_打包工具软件有哪些_打包工具下载

之前我们讲过两种Android渠道的封装方式,包括涉及到的原理。 今天给大家介绍一下packer-ng-plugin,简称packer,被誉为下一代Android渠道打包工具。 估计应该有人在用。 了解的人可以跳过今天的推送,去学习其他内容。 没有使用过的朋友可以阅读下文。

在讲这个所谓的下一代Android渠道打包工具之前,我们先回顾一下原来的基本打包原理和美团的多渠道打包原理。 这里我就不过多介绍了。 如果您还没有阅读过之前的文章,只需点击下面的链接即可查看。

回顾了前面对打包方式原理的讲解,现在我们正式开始讲解packer-ng-plugin。

项目介绍

packer-ng-plugin是下一代Android渠道打包工具Gradle插件。 它支持极快的打包。 生产100个通道包仅需10秒。 速度是gradle-packer-plugin的300倍以上。 可以方便地用于CI系统集成。 支持自定义输出目录和最终APK文件名,依赖包:com.mcxiaoke.gradle:packer-ng:1.0.5 简称:packer,可以在项目的build.gradle中指定,也提供独立使用命令行Java 和 Python 脚本

实现原理

Android应用程序使用的APK文件是带有签名信息的ZIP文件。 根据ZIP文件格式规范,每个ZIP文件末尾必须有一个称为中央目录记录的部分。 该CDR的最后一部分称为“中央目录记录结束”,该部分包含一些元数据软件打包工具,其末尾是有关ZIP文件的注释。 注释包含两个字段:注释长度和文件注释。 前者表示评论内容的长度,后者是评论的内容。 正确修改这部分不会对ZIP文件造成损坏。 使用此字段,我们可以添加一些自定义数据。 这是 PackerNg 项目添加和读取通道信息的地方。

的优点和缺点

优势

缺点

使用方法配置项目根目录下的build.gradle

buildscript {    ......    dependencies{    // add packer-ng        classpath 'com.mcxiaoke.gradle:packer-ng:1.0.5'    } }

配置模块级别gradle

apply plugin: 'packer' dependencies {    // add packer-helper    compile 'com.mcxiaoke.gradle:packer-helper:1.0.5' }

特别注意:packer-ng和packer-helper的版本号需要一致

动态设置通道数

// 如果没有使用PackerNg打包添加渠道,默认返回的是"" // com.mcxiaoke.packer.helper.PackerNg final String market = PackerNg.getMarket(Context) // 或者使用 PackerNg.getMarket(Context,defaultValue) // 之后就可以使用了,比如友盟可以这样设置 AnalyticsConfig.setChannel(market)

提示:PackerNg.getMarket(Context)会在内部缓存结果,不会重复解析APK文件。

包装方式

市场属性可以通过两种方式指定,根据需要选择:

market 是您的频道名称列表文件。 market文件是基于项目根目录的相对路径。 假设您的项目位于 ~/github/myapp 并且您的市场文件位于 ~/github/myapp/config/markets.txt。 那么参数应该是-Pmarket=config/markets.txt,一般建议直接放在项目根目录下。 如果市场文件参数不正确或者文件不存在,则会抛出异常。

关于通道文本的配置,它是一个纯文本文件,每行一个通道号。 还可以添加评论,只需在频道号后添加#即可添加评论。

例如:

xiaomi#小米渠道 google#谷歌渠道 qq#应用宝渠道

命令行执行:

./gradlew -Pmarket=markets.txt clean apkRelease

打包完成后,可以在${项目根目录}/build/archives/目录下找到最终的频道包。

packer-ng-plugin还提供了一些自定义配置,比如输入apk的命名方式。 详情请参阅原文。 它还提供用于 java 和 python 的命令行脚本,以便集成到持续集成环境中。 具体请参考命令行打包脚本。 。

详细使用说明及源码插件地址:

就是这么简单。 你知道了,赶快去尝试一下吧。

●●●

掘金是一个优质的技术社区,从RxJava到Android Studio,性能优化到优秀的开源库,让你不会错过Android开发的每一个技术知识。 长按图片识别二维码或各大应用市场搜索“掘金”,所有技术资讯尽在掌握。

打包工具下载_打包工具软件有哪些_软件打包工具

相关内容 查看全部