冲突的产生
在使用Vuforia进行AR开发的时候,如果项目还需要VR模块,并且凑巧使用了CardBoard进行VR模块的开发,就会出现问题。
当你导入V uforia开发包之后,对AR功能进行开发的时候不会出现问题,但是当在 此基础上添加Cardboard开发包之后,在测试AR功能你就会发现AR模块的场景并不是手机摄像头画面的渲染,而是黑色的面板,并且显示Vuforia的错误提示,“vuforia init error“,看字面意思是Vuforia初始化失败。
冲突的解决
出现这种情况,一般可以理解为Cardboard SDK和Vuforia有冲突,那么如何解决这个问题呢,有两种方法。
导入顺序
先导入Cardboard在导入Vuforia的SDK就不会出现这种问题了再次导入
如果没按顺序导入,或者项目是线开发的AR模块,通过再次导入Vuforia的SDK,这样就可以解决冲突问题了
冲突的根本原因
产生这种冲突的根本原因其实是Plugins->Android文件夹下的AndroidManifest文件被覆盖导致的,Vuforia SDK导入的时候覆盖了AndroidManifest,在AndroidManifest里面修改了Vuforia需要的配置,权限等等,导入cardboard的时候又覆盖了一次,导致Vuforia的配置出问题,最终导致Vuforia初始化失败。