HarmonyOS 鸿蒙Next 团结引擎assetbundle加载成功但报错 failed to get jar:file://rawfile/*** rawfile descriptor

HarmonyOS 鸿蒙Next 团结引擎assetbundle加载成功但报错 failed to get jar:file://rawfile/*** rawfile descriptor

团结引擎中使用AssetBundle.LoadFormFile加载hap内的assetbundle资源时能成功加载assetbundle,但是会报错failed to get rawfile descriptor。团结引擎那边的开发人员说这是harmony这边的机制,有人知道这个报错是什么原因吗,怎么解决? 团结内的加载代码大致如下:

var abPath = string.format("{0}/{1}", UnityEngine.Application.streamingAssetsPath, “AssetBundle/testmain-1824188841”)

var ab = AssetBundle.LoadFromFile(abPath);

D61B9253-085E-44e9-A5A0-018684E88550.png


更多关于HarmonyOS 鸿蒙Next 团结引擎assetbundle加载成功但报错 failed to get jar:file://rawfile/*** rawfile descriptor的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
从报错上看,代码运行时,读取不到rawfile目录下的文件,你开发时,rawfile目录下有放上面报错需要加载的资源吗?在工程main -> resources目录下面,有个rawfile目录,如果没有你可以手动创建。资源文件,需要看下是你自己设置的,还是团结引擎提供的,按照加载目录进行放置,重新运行下,能找到文件应该就不会报错了

更多关于HarmonyOS 鸿蒙Next 团结引擎assetbundle加载成功但报错 failed to get jar:file://rawfile/*** rawfile descriptor的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


文件是存在的,团结的AssetBundle.LoadFromFile也成功加载到了ab,只是加载的过程会有上面的报错

在HarmonyOS鸿蒙Next团结引擎中,当你遇到assetbundle加载成功但报错“failed to get jar:file://rawfile/*** rawfile descriptor”时,这通常意味着系统在尝试访问一个jar包或资源文件时遇到了路径或权限问题。

  1. 检查路径格式:确保你的路径格式正确,jar:file://后应紧跟正确的文件路径,注意路径中的斜杠(/)是否正确。在鸿蒙系统中,路径格式可能与其他平台有所不同,需严格按照鸿蒙的文件系统规范来设置。

  2. 文件权限:确认你的应用是否有权限访问该资源文件。在鸿蒙系统中,应用访问文件系统的权限受到严格控制,需要确保在应用的manifest文件中已声明必要的权限。

  3. 资源打包:检查assetbundle打包过程中是否有误,确保资源文件正确打包且未被损坏。

  4. 系统兼容性:确认你的鸿蒙系统版本与团结引擎版本是否兼容,有时版本不匹配也会导致资源加载问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部