Unity3d 4.6版本时assetbundle.createFromFile的问题

总的来说这个createFromFile的路径简直是天坑,它与从www读取时的路径是不一样的。


尤其是android平台下

我们都知道在 Android 平台下使用 WWW 的加载方式十分的顺畅。一个路径类似于这样:jar:file:///data/app/[APP的名字].apk!/assets/AssetBundles/ABFile/

在使用 Win 或 Mac 测试的时候,我们也容易知道使用 CreateFromFile 使用的路径跟 WWW 相比只要把前面的file:// 去掉。


在 Android 平台上就不是这么简单了,虽然说复杂不到哪里去,但是对于不熟悉的人来说,够喝一壶了。下面我要揭晓秘密了!

Application.streamingAssetsPath // 获得一个类似这样的路径 jar:file:///data/app/[APP的名字].apk!/assets
Application.dataPath // 获得一个类似这样的路径 /data/app/[APP的名字].apk


CreateFromFile 接受的路径是像这样 /data/app/[APP的名字].apk!assets/AssetBundles/ABFile。看起来似乎可以用 Application.streamingAssetsPath + relativeName去掉前面的 jar:file:// 获得。但是!请你仔细观察!
我们来对比下这种方式得到的路径跟使用 dataPath得到的路径。

Application.streamingAssetsPath.Replace("jar:file://","")+"/AssetBundles/ABFile";
Application.dataPath + "!assets/AssetBundles/ABFile";
/data/app/[APP的名字].apk!/assets/AssetBundles/ABFile    // not work
/data/app/[APP的名字].apk!assets/AssetBundles/ABFile     // work

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值