关于Unity3D资源打成安卓包的资源加载路径问题

1.问题描述(博主在论坛提了问,没人回复自己又折腾了一天,解决了。)




2.解决方法:


                   网上查了一大堆资料。有说 file后加/// 或者 !/assets/改成 !assets的,全部亲测无效

                   方法:

             

BundleURL = 
           #IF UNITY_ANDROID
           Application.streamingAssetsPath + "/";


3.原因分析:


  解决这个问题需要明确各个路径在不同平台的具体位置信息:

Android平台
    Application.dataPath : /data/app/xxx.xxx.xxx.apk
    Application.streamingAssetsPath : jar:file:///data/app/xxx.xxx.xxx.apk/!/assets
    Application.persistentDataPath : /data/data/xxx.xxx.xxx/files
    Application.temporaryCachePath : /data/data/xxx.xxx.xxx/cache

IOS平台
    Application.dataPath :                    Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data
    Application.streamingAssetsPath : Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data/Raw
    Application.persistentDataPath :    Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents
    Application.temporaryCachePath : Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Library/Caches

Windows Web Player
    Application.dataPath :  file:///D:/MyGame/WebPlayer (即导包后保存的文件夹,html文件所在文件夹)
    Application.streamingAssetsPath : 
    Application.persistentDataPath : 
    Application.temporaryCachePath : 


4.补充:

    修改成2中路径后你会发现是扔无法再unity里面正常运行的(即使是build setting里已经切换成了安卓平台),如果你想要在unity内安卓平台下正常调试,还是需要将路径修改成pc模式下的。即:

#if UNITY_ANDROID
"file://" + Application.dataPath + "/StreamingAssets/"

5.博主的日常吐槽:

    经过两天的爬坑自己终于解决了这个bug...几乎搜遍了网上的blog都没看到适合自己的解决方案。看到很多博客都给出安卓平台下的路径是 “jar:file://” + Applicaiton.dataPath +“!/assets/”; 于是自己也照着写,调试的时间坚定的觉得这个路径没有错。直到最后走投无路了才过来怀疑这个路径。查了一下关于路径的文档就发现了问题 。果然是不能封建迷信啊...(吐血.jpg)

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值