如何升级ARCore到1.12.0版本解决Filament内存分配导致的应用崩溃问题
问题解决方案
你遇到的崩溃是低版本ARCore内置Filament渲染引擎的已知内存分配bug,升级到1.12.0及以上版本即可完全解决该问题,具体操作步骤如下:
操作步骤
- 第一步:修改
build.gradle(Module: app)文件的依赖配置
找到dependencies代码块,将原有ARCore相关依赖替换为如下内容:
同时确认该文件内的dependencies { ... // 引入对应版本的ARCore核心库 implementation 'com.google.ar.core:core:1.12.0' // 将原有sceneform-ux版本从1.5.1升级到1.12.0 implementation 'com.google.ar.sceneform.ux:sceneform-ux:1.12.0' }minSdkVersion不低于24,compileSdkVersion不低于28,否则会出现版本兼容报错。 - 第二步:同步Gradle配置
点击Android Studio右上角的「Sync Now」按钮,等待依赖拉取和同步完成。 - 第三步:清理旧构建缓存并重新编译
点击顶部菜单栏「Build → Clean Project」,待清理完成后再点击「Build → Rebuild Project」,避免旧版本缓存导致的异常。 - 第四步:运行验证
测试前请确保运行应用的Android设备上安装的ARCore服务为最新版本,避免客户端服务版本不匹配导致的崩溃。
补充说明
如果你后续想升级到更高版本的ARCore,只需保持core和sceneform-ux的版本号一致即可。需要注意Google官方在1.16.0版本后停止维护了Sceneform组件,若后续有新功能开发需求可选择社区维护的Sceneform分支,不过解决你当前遇到的Filament内存分配问题,升级到1.12.0即可。
内容的提问来源于stack exchange,提问作者Chaaru Manjuraj
相关产品推荐
相关产品推荐

