快应用打包rpk同时生成了rpk和rpks是为什么?怎么用?-优雅草卓伊凡

简介: 快应用打包rpk同时生成了rpk和rpks是为什么?怎么用?-优雅草卓伊凡

快应用打包rpk同时生成了rpk和rpks是为什么?怎么用?-优雅草卓伊凡

引言

今天卓伊凡很神奇打包快应用,因为版权刚办理完成提交,发现生成了rpks和rpk

这是一个非常重要且常见的问题。当你修改配置后,打包工具同时生成 .rpk .rpks 两种文件,这反映了快应用联盟近年来的一次重大技术演进。

下面我将详细阐述其原理、内容以及区别。

上一篇因为报错我们把支持版本改成了1061

核心结论

  • .rpk: 是传统单包的快应用文件。它将所有页面、组件、资源都打包在一个文件中。
  • .rpks: 是分包(或称为Split Package)的快应用文件。它是一个压缩包,里面包含了一个主包(main.rpk)和若干个可独立下载的分包(subpackageX.rpk)。

生成两种包是为了兼容性。打包工具会同时生成两种格式,以确保应用能安装在不同版本的快应用平台(引擎)上。


详细介绍与对比

1. .rpk (单包)

  • 原理:这是快应用最初的组织形式。类似于一个小的安卓APK文件,所有代码和资源都被打包在一起。当用户打开应用时,需要一次性下载整个RPK文件。
  • 内容结构(压缩包内):
.
├── manifest.json      # 应用配置文件,声明页面、权限、版本等
├── app.js            # 应用逻辑代码
├── common/           # 公共资源(图片、样式等)
├── pages/            # 所有页面
│   ├── index/
│   └── detail/
└── ... (其他公共组件和逻辑)
  • 优点
  • 结构简单,开发调试方便。
  • 兼容所有版本的快应用平台。
  • 缺点
  • 首屏加载慢:随着业务增长,包体积会变大,导致用户首次打开应用时需要下载的等待时间变长。
  • 体积限制:快应用平台对单个RPK文件有严格的体积上限(通常为1MB或2MB),限制了应用的复杂度。

2. .rpks (分包)

  • 原理:为了解决单包体积限制和首屏加载问题,快应用联盟引入了分包机制。它借鉴了微信小程序等技术的思路,将应用划分为一个主包和多个分包
  • 主包:包含应用启动所需的首页、关键资源以及所有分包的公用的代码和资源。
  • 分包:包含某些特定功能模块的代码和资源。用户只有在进入该模块时,才会去下载对应的分包。
  • 内容结构.rpks 文件本身是一个ZIP包,解压后):
.
├── manifest.json      # 总的配置文件,其中定义了分包信息
├── main.rpk          # 主包文件(它本身也是一个RPK格式的压缩包)
└── subpackages/      # 分包目录
    ├── sub1.rpk      # 分包1
    └── sub2.rpk      # 分包2
  • 工作流程
  1. 用户点击快应用图标。
  2. 平台先下载并加载 main.rpk(主包),立刻显示首页。
  3. 当用户操作需要跳转到某个分包内的页面时(例如“个人中心”),平台才开始异步下载对应的 sub1.rpk
  4. 下载完成后,跳转到目标页面。
  • 优点
  • 优化首屏加载:主包体积小,下载快,用户体验更好。
  • 突破体积限制:整个应用的总大小可以远远超过1MB的限制(例如10MB+)。
  • 按需加载:用户可能永远用不到某些功能,则无需下载对应的分包,节省流量。
  • 前提条件:这正是你之前遇到的错误——必须将 app.json / manifest.json 中的 minPlatformVersion(最低平台版本号)设置为 1061 或以上,因为分包功能是在平台版本1061之后才支持的。

为什么你的项目会同时生成两种包?

这是由 uniapp打包工具的默认策略 决定的,目的是最大化兼容性

  1. 兼容旧平台:如果你的应用被安装在一个平台版本号 低于1061 的设备上,该设备无法识别分包。此时,平台会尝试寻找并安装同名的 .rpk 文件(单包)。
  2. 发挥新平台优势:如果你的应用被安装在一个平台版本号 高于或等于1061 的设备上,平台会优先识别并安装 .rpks 文件,从而享受分包带来的性能优势。

简单来说,打包工具为你做了两手准备:

  • .rpk 是给 老版本 手机用的。
  • .rpks 是给 新版本 手机用的。

如何选择和使用?

  • 测试阶段:你可以将 .rpk 文件上传到快应用官方调试器进行基础功能测试。但要完整测试分包功能,必须使用 .rpks 文件,并确保调试器的基础库版本足够高。
  • 发布阶段:当你将应用上传到各大厂商的快应用平台时,平台会自动根据用户手机的平台版本,智能地分发 .rpk(给老手机)或 .rpks(给新手机)。你一般不需要手动选择。

总结

特性

.rpk

(单包)

.rpks

(分包)

本质

单个应用包

一个包含主包和多个分包的压缩包

兼容性

所有平台版本

平台版本 >= 1061

体积限制

严格(通常1MB)

大大放宽(通常10MB+)

加载方式

一次性加载全部

先加载主包,按需加载分包

首屏速度

慢(包大时明显)

快(主包小巧)

生成原因

为了兼容老版本平台

为了在新版本平台上获得更好性能

因此,同时生成两种包是正常且有益的行为,确保了你的应用能在尽可能多的设备上正常运行。

本次我们上传项目还是上传的rpk

目录
相关文章
|
20天前
|
传感器 数据采集 人工智能
《用AI重构工业设备故障预警系统:从“被动维修”到“主动预判”的协作实践》
本文记录了为重型机床企业用AI重构故障预警系统的实践。项目初期面临原系统“事后报警”致单月损失超百万、12类传感器数据繁杂但故障样本稀缺、维修经验难转技术指标的困境,传统开发需2个月且准确率难超70%。团队构建Cursor、通义灵码、豆包、DeepSeek协作矩阵,按场景分工:Cursor优化前后端,通义灵码转经验为特征与模型逻辑,豆包拆解需求与生成手册,DeepSeek优化架构与模型性能。系统25天上线,预警准确率92%、提前35分钟,单月停机减60%,挽回损失超60万,还沉淀SOP,印证了AI协同破解工业设备预警困局、实现从被动维修到主动预判的价值。
101 5
|
20天前
|
人工智能 缓存 前端开发
《从0到1搭建客户画像系统:AI工具矩阵如何解决开发困局》
本文记录了为美妆零售企业搭建客户画像系统时,通过Cursor、通义灵码、豆包、DeepSeek组成的AI工具矩阵破解开发困局的全过程。项目初期面临业务需求模糊、6类异构数据源整合难、团队无同类经验的三重困境,传统开发需45天。通过为AI工具划定清晰分工—Cursor主攻前后端代码优化,通义灵码负责数据建模与标签逻辑,豆包拆解需求与合规校验,DeepSeek优化架构与性能,最终28天完成系统开发,效率提升38%。系统上线后数据准确率达99.8%,自定义标签12小时内上线,新品转化率提升25%,还沉淀了AI协作SOP与技术手册。
|
4天前
|
移动开发 JavaScript 安全
热更新:移动应用的“空中加油”技术-详解什么是热更新?-优雅草卓伊凡 卓伊凡的挑战
热更新:移动应用的“空中加油”技术-详解什么是热更新?-优雅草卓伊凡 卓伊凡的挑战
54 12
热更新:移动应用的“空中加油”技术-详解什么是热更新?-优雅草卓伊凡 卓伊凡的挑战
|
21天前
|
人工智能 安全 架构师
告别旅行规划的"需求文档地狱"!这个AI提示词库,让你像调API一样定制完美旅程
作为开发者,旅行规划如同“需求地狱”:信息碎片、需求多变、缺乏测试。本文提出一套“企业级”AI提示词库,将模糊需求转化为结构化“API请求”,实现标准化输入输出,让AI成为你的专属旅行架构师,30分钟生成专业定制方案,提升决策质量,降低90%时间成本。
359 129
|
5天前
|
人工智能 API 数据安全/隐私保护
近期非常风靡非常逼真的AI视频内容由sora生成的视频是怎么回事?-优雅草卓伊凡
近期非常风靡非常逼真的AI视频内容由sora生成的视频是怎么回事?-优雅草卓伊凡
103 11
近期非常风靡非常逼真的AI视频内容由sora生成的视频是怎么回事?-优雅草卓伊凡
|
25天前
|
Java Maven 开发工具
Gradle被误解了?揭开构建工具背后的真相-骂gradle是有多无知-优雅草卓伊凡
Gradle被误解了?揭开构建工具背后的真相-骂gradle是有多无知-优雅草卓伊凡
154 13
Gradle被误解了?揭开构建工具背后的真相-骂gradle是有多无知-优雅草卓伊凡
|
20天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
138 14
|
16天前
|
存储 JavaScript Java
基于springboot的大学公文收发管理系统
本文介绍公文收发系统的研究背景与意义,分析其在数字化阅读趋势下的必要性。系统采用Vue、Java、Spring Boot与MySQL技术,实现高效、便捷的公文管理与在线阅读,提升用户体验与信息处理效率。
|
20天前
|
机器学习/深度学习 人工智能 运维
金融系统宕机一分钟,损失就是百万?聊聊智能化运维该怎么玩!
金融系统宕机一分钟,损失就是百万?聊聊智能化运维该怎么玩!
113 11

热门文章

最新文章