拿到unity打包出来的Android 项目,项目结构如图:
我们可以以导入moudle的形式把这个项目导入到我们的Android studio中,这个是一个新建的项目:
之后根据步骤导入ARDemo
选择你要导入的ardemo:
选择“ok”,然后点“Finish”就导入进来了:
接下来我们把ardemo变为library的形式,1,把application 改为 library 2 把applicationId 注释掉 3 修改为自己的构建版本参数
之后同步一下项目,有可能会报Error:Execution failed for task':app:processDebugManifest'的错误,可以把这句加上“tools:replace="android:icon, android:theme,android:allowBackup”,注意是哪个清单文件,别加错了哦,可参考:http://m.blog.csdn.net/article/details?id=51441806
同步一下可以看到ardemo的图标变为了library的图标
接下来就修改ardemo的AndroidManifest文件,注意不要改app moudle里面的清单文件,把这个注释掉就行,如果不注释,安装时会有两个应用logo。还有一个就是构建版本的问题,改下或者注释掉就行,如图
同步一下项目,然后把这句添加进去
再同步一下项目,此时项目报错Error:Failed to resolve: :VuforiaWrapper:
<a href="openFile:D:/lhq/Download/MergeARDemo/app/build.gradle">Open File</a>:
这时点击一下这个“open File”但是没有一点反应,不慌,看下在哪有这个文件“VuforiaWrapper”,最后在lib里面找到了这个文件
原来是aar文件,找到问题所在就好办了,如果不懂aar文件的请参考这:https://blog.csdn.net/xiexiangyu92/article/details/75200091。
这个问题是无法解析library里面的aar文件,这个时候只需要在app 里面的build.gradle里面加上这句
repositories{ flatDir{ dirs 'libs','../ardemo/libs' } }
就行了,可参考这个:https://blog.csdn.net/qq_35522272/article/details/70214962,
接下来就是跳转到unity界面了,写个简单的跳转Button,
导入的包是你自己library里面的UnityPlayeractivity,千万别导错包,不然会闪退报这个类找不到的错误,点击按钮就直接进入Unity界面了,
还有就是闪退和视频不能播放的问题,如果出现了闪退的问题,可能是横竖屏的问题,在Unityplayeractivity这个类的清单文件写上支持横竖屏的代码即可,如果是AR视频不能播放,应该是Android studio默认压缩的问题。
如果不能播放,logcat出现黄色字体警告,Unity: AndroidVideoMedia OpenExtractor: file is compressed, not supported
此时只需要将ardemo里面的build.gradle的一行代码复制到app的build.gradle下即可
复制到app的build.gradle
这样就解决了视频不能播放的问题。
如果有什么错误,欢迎指出,一起学习,共同进步!