大家都知道,Unity在Android平台下只能通过www异步加载streamingassets下的文件,很麻烦。那么今天我们要做的就是一个同步读取Unity的streamingassets下文件的Android插件,这个功能呢,无须使用Android activity的任何相关的东西,所以我们不需要继承Unity3dPlayer,那么我们就来用静态方法快速的提供这样的一个插件吧。项目地址文章最后,拿完记得点赞喔。
Android部分
1.新建工程
下一步、下一步都是默认就行,最后finish等待进度条完成(这里就不一一截图了)。
2.打开工程 一些不重要的东西都可以删掉(比如带test的),大概是这么个样子:
3.将PlaybackEngines ▸ AndroidPlayer ▸ Variations ▸ mono ▸ Release ▸ Classes下的classes.jar文件copy到Android工程app/libs/下,Windows平台是在Editor里。
注:只需要copy到这边即可,无须添加到Dependencies中,原因是这么默认会添加lib目录下的所有jar引用。
4.修改导出设置和AndroidMainfest.xml
圈住的都是重点改的。图1中 apply plugin必须以library结尾,其他test相关都可以直接删掉。
5.添加功能类,FileUtil.java
6.导出aar插件,导出路径在当前工程目录下build>outputs>aar>aap-debug.aar,打开将此文件copy进Unity工程Plugin>Android目录下,至此Android部分完成。
注:此处无须解压改zip删除什么东西,前面导出设置里已经将其忽略掉,未将Unity下mono中classes.jar文件copy进去。
Unity部分
1.这边就相对简单了,随便写个测试代码,调用一下,如图:
从上往下:路径直接从StreamAssets后面开始传入;指明包名及类名;指明方法名,传入路径参数。
2.打包apk上效果。点击“读取按钮”,右边text显示的为文件内容。
结束。
附:项目地址 密码:tw7t