You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

模拟器运行raw_depth_java提示不支持ARCore Raw Depth API闪退怎么办

根因说明

Android 10.0 x86架构的Google Play模拟器镜像本身未集成ARCore Raw Depth API所需的虚拟深度传感器驱动,仅安装Google Play Services for AR无法补全底层能力支持,应用触发能力校验失败后会主动调用退出逻辑,表现为弹窗后闪退。

可执行解决步骤
  • 替换合规模拟器镜像
    删除现有模拟器,新建虚拟设备时选择Pixel 3及以上的硬件配置,系统镜像必须选Android 12 (API 31) 及以上版本的x86_64架构Google Play镜像,32位x86镜像、API 31以下版本镜像均不支持Raw Depth虚拟能力。
  • 校验模拟器AR相关配置
    启动新模拟器后,点击侧边栏三点按钮打开扩展控制面板:
    • 进入Settings > Advanced,确认后置摄像头选择的是VirtualScene,不要选Webcam或者None
    • 进入Google Play tab,将Google Play Services for AR更新到最新正式版,不要使用镜像预装的旧版本
  • 适配demo的模拟器调试逻辑(若换镜像后仍弹窗)
    打开demo中能力校验的入口代码(通常在MainActivity.java的AR会话初始化段),修改强制校验逻辑,避免模拟器环境下直接退出:
    // 新增模拟器环境判断
    boolean isRunningOnEmulator = Build.FINGERPRINT.contains("generic") 
            || Build.MODEL.contains("Emulator") 
            || Build.BRAND.startsWith("generic");
    
    Config config = new Config(session);
    if (isRunningOnEmulator) {
        // 模拟器环境下回退到自动深度模式,使用虚拟深度数据
        config.setDepthMode(Config.DepthMode.AUTOMATIC);
    } else {
        // 真机环境保留原Raw Depth校验逻辑
        if (!session.isDepthModeSupported(Config.DepthMode.RAW_DEPTH_ONLY)) {
            messageSnackbarHelper.showError(this, "This device does not support the ARCore Raw Depth API.");
            finish();
            return;
        }
        config.setDepthMode(Config.DepthMode.RAW_DEPTH_ONLY);
    }
    session.configure(config);
    
    该修改仅用于本地调试,正式发布版本需移除非必要的模拟器判断逻辑。
  • 重新编译安装
    先卸载模拟器中已安装的旧版demo,在Android Studio中执行Build > Clean Project后重新运行即可。
补充说明

模拟器输出的Raw Depth数据为虚拟场景生成的模拟数据,精度、效果和真机存在明显差异,仅可用于业务流程调试,实际深度效果验证必须使用通过ARCore认证、支持Raw Depth API的物理设备。

内容的提问来源于stack exchange,提问作者Wavegunner232

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 06:17:03