关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题

Unity中StreamingAssets文件夹中的资源,在打包时会原封不动的包含到包体中,如图我在StreamingAssets文件夹的资源:

关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第1张图片


当我打包apk后,用解压软件查看apk的内部资源,会在assets文件夹下找到StreamingAssets中的资源。如图:

关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第2张图片  关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第3张图片  关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第4张图片


在assets文件夹中有一个bin文件夹,这个文件夹中存放着除了StreamingAssets文件夹之外所用到的资源,而且文件夹区分大小写,如图:

关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第5张图片关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第6张图片

关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第7张图片


而Managed中存放着应用中所使用的程序集dll文件(就是导入Plugins中的dll文件和自己的脚本编译生成的dll文件)。

关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第8张图片


注意:assets文件夹中会自动生成一个bin文件夹,而这个bin文件夹与Unity的StreamingAssets中资源同级,那么如果我们在StreamingAssets中创建一个bin文件夹,那么打包生成的assets/bin/Data文件夹也会与Unity的StreamingAssets/bin文件夹中的资源同级,同时打包到assets/bin文件夹中。这里就有一个坑:我在Unity的StreamingAssets文件夹中创建了一个Bin文件夹(注意大写),脚本中的访问路径是Application.streamingsPath+"/Bin/xxx",我用Unity5.3版本打包后可以通过此路径来访问到资源,但是使用Unity5.6版本打包后总是访问不到资源,排查了一整天后才发现Unity5.6版本打包后,Unity的StreamingAssets/Bin/路径下的资源,全部被打包到了assets/bin/文件夹中,因此不可能通过大写Bin路径来访问:Application.streamingsPath+"/Bin/xxx",如图:


关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题_第9张图片

愿出现此问题的开发者们能注意……

你可能感兴趣的:(Unity3D)