我只想說路徑問題簡直喪心病狂!
我們都知道在 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
我屮艸芔茻!看到沒有,嘆號后面少了一個斜杠!坑爹啊! 不知道是 Unity 坑還是 Android 坑,反正是坑得哥哥都快變成姐姐了!蛋碎啊有木有!