HarmonyOS 鸿蒙Next中打包离线使用的包,需要集成大容量资源,如何实现
HarmonyOS 鸿蒙Next中打包离线使用的包,需要集成大容量资源,如何实现 开发离线使用的应用,里面需要集成大容量的图片资源大概10G,如果存放在resource中构建会报错(zip64),还有其他方式实现吗
7 回复
安装包上传限制的4GB,你这10G,完全没法提审啊。
建议是弄个静态资源服务器(OSS),用户使用时再去下载必要的资源。
更多关于HarmonyOS 鸿蒙Next中打包离线使用的包,需要集成大容量资源,如何实现的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
将大容量图片资源直接放入resources/rawfile目录中,这个目录下的文件会以原始形式存储,不会参与编译压缩过程,避免触发ZIP64限制。
通过资源管理接口获取文件绝对路径:
import resourceManager from '@kit.ResourceManager'
let context = getContext(this)
let resource = await resourceManager.getRawFile('big_resources/image1.jpg')
let imagePath = resource.path
限制最大4G,你只能通过在app启动后进行联网加载了
ERROR - hap-sign-tool: error: cd end offset not equals to eocd offset, maybe this is a zip64 file
Detail: Please check the message from tools.
在HarmonyOS Next中打包大容量离线资源,需使用resourceManager
模块的rawfile
目录。将资源文件放入resources/rawfile
目录下,通过this.context.resourceManager.getRawFileContent()
或getRawFileDescriptor()
异步获取资源。对于超大文件,建议分片压缩后按需解压使用。打包时注意在module.json5
中配置正确的资源路径,HAP包大小上限为2GB。