在某些Android机上, Unity AssetBundle.CreateFromFile报错,何解?

1回答

在某些Android机上, Unity AssetBundle.CreateFromFile报错,何解?

提问者 dez 2015-12-03 2.8k浏览
一共有以下几种错误 都是AssetBundle.Internal_CreateFromFile抛出的异常。
1、can't be loaded because it was not built with the right version or build target
2、Failed to open file at path: /AssetBundle/xxxx/XXXX.unity3d
3、XXX.unity3d is corrupted! Remove it and launch unity again!
4、Failed to open file at path:/storage/emulated/0/Android/data/com.tencent.xxx/files/AssetBundle/XXX/XX.unity3d

ab本身应该没有问题,因为在多款android机器上测试都未发现这类问题。请问这有可能是什么问题导致的呢?

多台手机出现这种错误。vivo,荣耀6,红米,note2,mate7等等都出现过,但不会一直出现,偶尔会出现一次。 我们的ab是放到Application.PersistentDataPath下(sd卡上),不知道跟这个是否有关系。另外还出现一个奇怪的报错,原因是Application.PersistentDataPath返回为空的字符串。

问题上下文:

开发平台 : Windows 7     发布平台 : Android     Unity 版本 : Unity Pro     版本号 : 4.6.7p1 


快来消灭0回答吧

{{ dataList.answer_count | view-format }}回答
  • Unity官方专家 2015-12-03 15:54
    根据你们描述这个情况是偶然发生,并且在不同机型上,有点奇怪,我们之前还没遇到过类似的案例。现在的描述还不能确定问题所在,我觉得可以先确认一下几点: 
    1.手机上都有SD卡,没有SD卡的也需要有系统模拟出来的SD卡映射位置(以前出现过某款中兴手机在没有SD卡的情况下Application.PersistantPath无效,因为系统本身并没有模拟出一个SD卡的文件夹映射); 
    2.build setting里Write access确认设为了External。


    提到的异常的都是偶尔发生的,并且异常的内容和当前语境并不吻合,这说明这个问题并不是unity本身意识到的,只是逻辑上刚好触发对应的异常,确实很大可能是由于类似于你们所说的第三方功能所引起。你们一开始提到的第2,3,4种情况比较类似,应该是同一个问题引起,而version和build target不对的问题我们还没有碰到过偶然出现的这种问题,不知你们能否再提供一些额外的信息(如出问题的手机和其他没问题的手机有什么不一样的地方,包括软件环境和硬件等)?
    0评论
  • {{ answer.user.NickName }} {{ answer.profession }} {{ answer.created_at | time-format }}
    专家回答
    {{{ answer.answer }}}
    {{ answer.answer_count | view-format }}评论
加载中... 查看更多回答