Galaxy S22 Ultra重启后ARCore失效问题排查求助
问题:Galaxy S22 Ultra重启后ARCore无法正常工作
现象与触发条件
- 测试环境:Android平台,Unity导出的aar包
- 故障设备:Galaxy S22 Ultra
- 触发步骤:设备重启后立即启动ARCore应用,功能失效;该问题可通过Google ARCore Depth Lab复现
- 临时修复:卸载并重装Google Play ARCore后,功能恢复正常
关键错误日志
2023-12-28 16:56:52.530 27839-28484 native com.example.hddfsampleproject E E0000 00:00:1703750212.530314 28484 motion_tracking_context.cc:2537] NOT_FOUND: Not able to find any depth measurements on feature measurements at timestamp 6826899695768 === Source Location Trace: === third_party/arcore/ar/perception/feature_track_ml_depth_provider_utils.cc:406 third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:209
已尝试的无效操作
查阅本月更新的ARCore官方深度API开发指南(已翻译为中文),按文档配置Session启用Depth API,代码如下:
mSession = Session(this) val config = Config(mSession) val isDepthSupported = mSession.isDepthModeSupported(Config.DepthMode.AUTOMATIC) Log.d("@@isDepthSupported", isDepthSupported.toString()) if (isDepthSupported) { config.depthMode = Config.DepthMode.AUTOMATIC } mSession.configure(config)
(文档核心内容:指导开发者通过配置Session的DepthMode为AUTOMATIC,在支持的设备上启用深度功能)
原因分析推测
- ARCore系统服务初始化不完整:设备重启后,Google Play ARCore的系统级服务未完成全量初始化,导致深度测量模块无法加载必要的传感器数据或ML模型,触发日志中的
NOT_FOUND错误(无法获取对应时间戳的深度测量值)。 - 本地深度模型缓存损坏:重启后ARCore依赖的本地深度ML模型缓存出现加载异常,卸载重装操作会重新下载并初始化模型缓存,修复数据损坏问题。
- 传感器与ARCore服务时序不同步:Galaxy S22 Ultra重启后,摄像头、IMU等传感器的初始化进度与ARCore服务启动存在延迟差,导致深度模块无法及时获取有效输入数据。
内容的提问来源于stack exchange,提问作者nudge411
相关产品推荐
相关产品推荐

