搜索
开发文档
应用开发
快应用开发
快游戏开发
开发文档/快游戏开发/开发服务/打包工具/打包工具
打包工具更新时间: 2025-01-03 14:38:00

一、打包指引

1、 分包规则支持的属性

属性类型含义描述
nameString分包名称名称可以用在分包API中。
rootString资源目录资源目录,编译时会把目录下的所有资源都打到这个分包中去。

下面是一个分包规则示例,位于工程的 manifest.json 文件:

{    
"package": "com.minigame.demo", 快游戏包名
"name": "mini game", 快游戏名称
"icon": "/image/logo.png", 快游戏icon
"versionName": "1.0.0", 快游戏版本
"versionCode": 1, 快游戏版本号,int 类型
"minPlatformVersion": 1076, 最小支持版本,int 类型
"orientation": "portrait", 不填或默认值为portrait,对快应用无效。取值为portrait或landscape
"type": "game", 不填或默认值为app,取值为app或game
"config"": {
"logLevel": "log" logLevel取值off,error,warn,info,log,debug,trace
},
subpackages: [ 分包配置
{
"name": "sub1Name", 子包名称
"root": "sub1/" 可以指定一个目录,目录根目录下的 main.js 会作为入口文件
},
{
"name": "sub2Name", 子包名称
"root": "sub2.js" 也可以指定一个 JS 文件
}
]
}

2、源码组织

├── sign                      rpk包签名模块
│ └── debug 调试环境
│ ├── certificate.pem 证书文件
│ └── private.pem 私钥文件
│ └── release 线上环境
│ ├── certificate.pem 证书文件
│ └── private.pem 私钥文件
├── logo.png 游戏图标(非必须)
├── sub1 子包目录(非必须)
│ └── main.js 子包入口js
├── sub2.js 子包js(非必须)
├── main.js 游戏入口js
└── manifest.json 项目配置文件,配置游戏图标、包名等

3、 quickgame分包输出结构

com.application.quickgame.rpk 整体压缩包(包名+.rpk)
--->com.application.quickgame.rpk 原整包(包名+.rpk)
--->main.rpk 分包主包(main+.rpk)
--->sub1Name.rpk sub1分包(子包名+.rpk)
--->sub2Name.rpk sub2分包(子包名+.rpk)

4、 应用大小限制

  • 整个小游戏的主包+分包总和不超过 30M;
  • 主包大小不能超过 4M,单个分包不限制大小;
  • 整体压缩包(包含原整包和所有分包)不超过60M。

com.application.quickgame.rpk 整体压缩包(包名+.rpk) (最大60M)
--->com.application.quickgame.rpk 原整包(包名+.rpk) (最大30M)
--->main.rpk 分包主包(main+.rpk) (主包,最大4M)
--->sub1Name.rpk sub1分包(子包名+.rpk) (单个分包不限制大小)
--->sub2Name.rpk sub2分包(子包名+.rpk)(单个分包不限制大小)

5、 分包加载API

LoadSubpackageTask qg.loadSubpackage(Object object)
加载游戏子包请注意:主包或子包不能引用未加载的包中的模块
参数Object object

属性类型必填说明
nameString分包的名字,需要和分包配置中的值对应,可以是name或者root
successFunction接口调用成功的回调函
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(无论成功失败都会执行)

LoadSubpackageTask.onProgressUpdate(Function callback)
用于获取分包加载状态
callback回调函数的参数Object res

属性键值类型说明
progressNumber分包下载进度百分比
totalBytesWrittenNumber已经下载的数据长度,单位 Bytes
totalBytesExpectedToWriteNumber预期需要下载的数据总长度,单位 Bytes

6、 代码示例

const loadTaskA = qg.loadSubpackage({
name: 'sub1Name',
success: function(data) {
console.info('加载分包 sub1Name 成功')
},
fail: function(err) {
console.info('加载分包 sub1Name 失败', err)
}
})
loadTaskA.onProgressUpdate(res => {
console.log('sub1Name 下载进度', res.progress)
console.log('sub1Name 已经下载的数据长度', res.totalBytesWritten)
console.log('sub1Name 预期需要下载的数据总长度', res.totalBytesExpectedToWrite)
})

7、 最低兼容框架版本号

小游戏打包时需填写“最低兼容框架版本号”,现阶段建议填写1076

二、IDE

1、小游戏IDE相关介绍

1.1 小米小游戏简介

小米小游戏集成主流引擎Runtime,具有免下载安装,性能优越,节省空间等特点,同时通过引擎IDE打包,可快速生成小米小游戏包,方便广大开发者接入。

1.2 技术支持

小游戏为开发者提供技术和工具支持,技术团队提供小米账号、支付等接入的指导。(相关技术支持,请联系商务拉QQ对接群)

1.3快应用调试器

开发者测试用,当点击无法直接下载时,请尝试右键“下载地址”复制链接到新窗口下载)下载地址

三、参考资料

请参考接入文档

上一篇:快游戏引擎
下一篇:调试
文档内容是否有帮助?
有帮助
无帮助