路径统一
在Android上加载StreamingAssets文件夹下的AssetBundle文件,首先需要对加载地址进行处理,注意PC、Android和IOS的地址不一致需要针对不同的平台不同的处理,通用代码如下:
//统一不同平台下 StreamingAssets 路径
public static readonly string STREAMING_ASSETS_PATH =
#if UNITY_ANDROID
"jar:file:///" + Application.dataPath + "!/assets/";
#elif UNITY_IPHONE
Application.dataPath + "/Raw/";
#elif UNITY_STANDALONE_WIN || UNITY_EDITOR
"file:///" + Application.dataPath + "/StreamingAssets/";
#else
string.Empty;
#endif
加载时路径直接添加到后面即可,如下:
WWW www = new WWW(STREAMING_ASSETS_PATH + "xxx.assetbundle");
关于脚本的补充
Unity中的脚本貌似除了Editor文件夹中的不会被打包,其它文件夹的脚本都会被打包,所以AssetBundle中的脚本虽然只是一个引用,但只要程序中存在同名的脚本即可。
需要注意的地方
打包游戏之前一定要确认将所有的AssetBundle重新打包为Android的版本,否则发布到真机会出现无法加载的问题。