Sceneform库适配异常:SDK33下MI 10i无法运行ARCore功能
Sceneform ARCore在SDK 33下仅MI 10i设备异常的排查与修复
问题现象
- 基于Google Sceneform 1.15.0/1.16.0开发的ARCore功能,在
targetSdkVersion和compileSdkVersion设为28时,所有测试设备运行正常 - 升级至SDK 33后,仅MI 10i设备无法正常加载AR功能,三星S9+仍可正常使用
- 已尝试下载Sceneform源码并升级其
build.gradle中的SDK版本,问题未得到解决
排查与修复方案
1. 适配Android 13权限变更
Android 13(SDK 33)新增了POST_NOTIFICATIONS权限,MIUI对权限管控更严格,旧版本Sceneform未适配该权限:
- 在
AndroidManifest.xml中添加权限声明:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
- 在APP启动或AR功能初始化前,动态申请该权限,确保权限授予后再初始化ARCore
2. 检查MIUI系统级权限与限制
MIUI的隐私管控可能对AR功能有额外限制:
- 进入「设置 -> 应用设置 -> 应用管理 -> 你的APP -> 权限管理」,确认「相机」「位置」等AR必需权限已全部开启
- 关闭MIUI「隐私保护」中的「虚拟身份ID」「模糊定位」等可能影响AR定位的设置,再次测试
3. 修复Sceneform渲染兼容性
Sceneform 1.x停止维护较早,对Android 13渲染管线的适配存在机型差异:
- 在
AndroidManifest.xml的<application>标签内强制开启硬件加速:
<application ... android:hardwareAccelerated="true">
- 同步升级Sceneform依赖的ARCore SDK至最新版本(1.36+),确保ARCore核心组件适配SDK 33
4. 更新MI 10i上的ARCore服务
MI 10i预装的ARCore服务版本可能未适配Android 13:
- 引导用户在应用商店搜索「ARCore」并更新至最新版本
- 若应用商店无更新,可手动下载对应设备架构的ARCore服务APK进行安装
内容的提问来源于stack exchange,提问作者Harsha
相关产品推荐
相关产品推荐

