Unity 2022.3.22f1 + Vuforia 10.22安卓AR应用黑屏问题求助
适配Android 12权限配置
Android 12新增了POST_NOTIFICATIONS权限,Vuforia 10.22需要正确配置才能正常调用相机。打开Unity的Player Settings > Android > Publishing Settings > Build,勾选Custom Main Manifest,然后在项目的AndroidManifest.xml里添加以下权限:<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" />同时在
Player Settings > Android > Other Settings > Configuration里,把Target API Level设为Android 12 (API level 31)或更高,避免权限兼容冲突。修正Vuforia相机初始化逻辑
很多黑屏问题出在权限授予后相机没正确启动,给ARCamera加个脚本处理权限回调:using UnityEngine; using Vuforia; public class VuforiaCameraFix : MonoBehaviour { void Start() { VuforiaApplication.Instance.OnPermissionsGranted += OnPermsGranted; VuforiaApplication.Instance.Initialize(); } void OnPermsGranted() { // 重启相机确保正常启动 if (CameraDevice.Instance.IsActive) CameraDevice.Instance.Stop(); CameraDevice.Instance.Start(); } void OnDestroy() { VuforiaApplication.Instance.OnPermissionsGranted -= OnPermsGranted; } }把这个脚本挂到ARCamera对象上,权限通过后会手动重启相机。
调整三星设备的相机权限与系统设置
三星A21S的Android 12有一些特殊限制:- 进手机
设置 > 应用 > 你的AR应用 > 权限 > 相机,确认权限是允许,别选仅使用期间允许之外的限制(部分三星机型有额外权限选项)。 - 关掉手机的
省电模式,省电策略可能会限制相机调用,哪怕前台授权也可能黑屏。 - 检查系统更新,把三星A21S的Android 12更到最新,有些系统bug会导致相机兼容问题。
- 进手机
修改图形API配置
三星中低端机型对Vulkan支持不好,打开Player Settings > Android > Other Settings > Rendering,把Graphics APIs里的OpenGLES3移到最前面,删掉Vulkan选项,打包后再测试。检查Vuforia License与设备兼容性
确认你的Vuforia License密钥有效,没绑定特定设备ID(免费密钥注意设备数量上限)。去Vuforia开发者后台看这个License是不是支持Android平台,对应的AR功能(比如Image Targets)有没有启用。清理缓存重新打包
Unity缓存有时会搞出打包异常:- 点Unity顶部菜单
File > Build Settings > Clean Build,清掉旧打包缓存。 - 删掉项目根目录的
Library文件夹,重新导入资源后再打包。
- 点Unity顶部菜单
内容的提问来源于stack exchange,提问作者anwar_py

