Unity 2022版Google Cardboard VR游戏安卓构建报错求助
解决方案
1. 移除冲突的GUI包
Google Cardboard SDK本身已集成必要的VR交互UI组件,额外安装的第三方GUI包大概率会和Unity内置的GUIUtility或Cardboard SDK的UI模块冲突,导致文件找不到或编译错误:
- 打开Unity Package Manager(Window > Package Manager)
- 在列表中找到你安装的名为"GUI"的包,点击
Remove按钮卸载 - 重启Unity,清理项目缓存(Edit > Project Settings > Editor > Clear Cache)
2. 修复AndroidManifest.xml冲突
Android构建时的Manifest报错通常是多模块Manifest合并冲突,或者Cardboard SDK的Manifest模板未正确导入:
- 先确认Google Cardboard SDK的Manifest模板已启用:
- 打开Player Settings(Edit > Project Settings > Player)
- 切换到Android平台,找到
Publishing Settings>Build - 勾选
Custom Main Manifest,如果没有自动生成,右键Assets文件夹 > Create > Android > Android Manifest
- 手动合并Cardboard所需的配置到自定义Manifest中(替换原有内容):
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools"> <application android:theme="@style/UnityThemeSelector" android:icon="@mipmap/app_icon" android:label="@string/app_name"> <activity android:name="com.unity3d.player.UnityPlayerActivity" android:exported="true" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density" android:hardwareAccelerated="false"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> </activity> <!-- Google Cardboard 必需配置 --> <meta-data android:name="com.google.vr.sdk.controller" android:value="false" /> <meta-data android:name="com.google.vr.sdk.providers.cardboard" android:value="true" /> <meta-data android:name="com.google.vr.libraries.require" android:value="cardboard" /> </application> <!-- Cardboard 必需权限 --> <uses-permission android:name="android.permission.NFC" android:required="false" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" /> <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" /> <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" /> <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true" /> </manifest> - 检查Manifest中是否有重复的权限或组件声明,删除冲突项(比如多个
android:exported设置)
3. 解决GUIUtility.cs文件找不到的问题
这个错误通常是VS的项目索引失效或Unity的脚本编译缓存损坏:
- 在Unity中,点击
Assets>Reimport All,等待所有资源重新导入编译 - 在Visual Studio中,点击
Project>Clean Solution,然后Build Solution - 如果仍报错,删除Unity项目根目录下的
Library、Temp、Obj文件夹,重启Unity重新生成项目文件
4. 验证Cardboard SDK的正确安装
确保Google Cardboard SDK是针对Unity 2022的官方版本:
- 在Package Manager中,点击
+>Add package from git URL,输入官方地址:https://github.com/googlevr/cardboard-xr-plugin.git - 等待安装完成后,检查
Window > XR Plug-in Management中是否已启用Cardboard作为XR Provider(Android平台)
内容的提问来源于stack exchange,提问作者Angel Chukwudi-Denis
相关产品推荐
相关产品推荐

