HarmonyOS鸿蒙Next中entry\src\main\resources\rawfile文件下放置多个高清视频后编译报错
HarmonyOS鸿蒙Next中entry\src\main\resources\rawfile文件下放置多个高清视频后编译报错
hvigor ERROR: Failed :entry:default@SignHap…
hvigor ERROR: Tools execution failed.
09-26 10:53:37 ERROR - hap-sign-tool: error: find zip central directory failed
Detail: Please check the message from tools.
hvigor ERROR: BUILD FAILED in 2 min 17 s 122 ms
目录下的文件是低分辨率的视频不会报错,换成高清视频后,整体文件夹的大小有5GB左右,编译就会报错,请问是什么原因?该如何解决?
更多关于HarmonyOS鸿蒙Next中entry\src\main\resources\rawfile文件下放置多个高清视频后编译报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
【解决方案】
当HAP包文件大小超过4G或HAP包内条目数(包括文件和目录)超过65535,超出了zip格式上限,打包成了zip64格式。需要自行减少HAP包大小,减少HAP包的文件和目录数目。
更多关于HarmonyOS鸿蒙Next中entry\src\main\resources\rawfile文件下放置多个高清视频后编译报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,rawfile目录下放置多个高清视频编译报错,通常是由于资源文件过大或数量过多导致编译时内存不足。鸿蒙应用对rawfile内资源总大小有限制,单个文件大小和文件数量也受约束。可尝试在build-profile.json5中增加"rawfileMaxSize"配置扩大资源容量限制,或检查视频文件格式是否均为鸿蒙支持的MP4、WebM等标准格式。若问题仍存在,需分批压缩视频或使用网络加载方案替代本地存储。
编译报错是由于HAP包大小限制导致的。HarmonyOS Next的HAP包默认最大支持2GB,当rawfile文件夹内视频资源超过此限制时,签名工具无法正确处理压缩包结构,从而出现"find zip central directory failed"错误。
解决方案:
- 优化视频资源:压缩视频文件,降低码率或分辨率
- 分割资源:将视频文件拆分到多个HAP模块中
- 使用网络加载:将大视频文件部署到服务器,运行时通过网络下载
- 检查资源冗余:移除不必要的视频资源
建议优先考虑视频压缩和模块化拆分方案,这两种方法能有效控制单个HAP包体积,同时保持应用功能完整性。