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

Unity开发的AR应用在三星Android11设备提示需最新ARCore但已安装,如何解决

问题解决方案

1. 优先检查ARCore SDK与Unity版本适配

  • 首先确认项目中使用的ARCore SDK版本是否支持Android 11,ARCore SDK 1.22.0及以上版本才正式兼容Android 11,如果项目使用的版本低于该值,直接升级ARCore SDK到最新稳定版即可解决绝大多数版本匹配问题。
  • 同步检查Unity版本适配:Unity 2019.4.x及以上长期支持版本对ARCore的Android 11适配更完善,如果使用的是2018或更早的Unity版本,建议升级到对应LTS版本后重新打包测试。

2. 修正Android 11的包可见性配置

Android 11 引入了包可见性限制,应用默认无法直接查询到设备上安装的其他应用,如果没有在AndroidManifest.xml中配置ARCore的包查询权限,就会出现明明已经安装ARCore但应用检测不到的情况:

  • 打开项目中自定义的AndroidManifest.xml,在<manifest>根节点下添加如下查询声明:
<queries>
    <package android:name="com.google.ar.core" />
</queries>
  • 如果是用ARCore Extension for Unity自动生成Manifest的,也可以在ARCore插件的设置面板中开启Android 11包可见性支持选项,插件会自动添加上述配置。

3. 检查ARCore依赖声明配置

  • 确认项目中ARCore的依赖模式是否符合需求:
    • 如果应用是AR必选应用,需要在Player设置的Android配置栏中,把AR Core Required选项设置为开启,此时打包时会自动声明依赖ARCore,应用只能在支持ARCore的设备上安装
    • 如果是AR可选应用,把上述选项设置为关闭,同时需要自行在代码中添加ARCore可用性检测逻辑,避免误触发安装提示
  • 不要手动硬编码ARCore的版本号做校验,ARCore SDK本身自带的校验逻辑已经适配了各版本的版本号规则,自定义校验很容易出现版本判断错误。

4. 验证打包签名配置

部分三星Android 11设备对应用的签名校验更严格,如果应用使用了自定义签名,确认打包时用的签名文件是正确的,且没有使用测试签名在正式设备上安装,避免系统拦截应用对ARCore服务的调用。

5. 本地复现调试

如果上述配置都调整后还是有问题,可以按如下步骤调试定位问题:

  • 在三星测试设备上开启USB调试,连接电脑后用adb命令查看ARCore的实际版本:adb shell dumpsys package com.google.ar.core | grep versionName,确认输出的版本号确实是最新版
  • 在Unity中开启开发模式打包,运行应用时查看Logcat日志,过滤ARCore标签的日志,就能看到ARCore检测失败的具体原因,根据错误信息针对性调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:51:03