Android 工程配置

API Level

EasyAR Sense 需要 Android API Level 17 或以上。在Player Settings面板设置如下。

../_images/image_6.png

Package Name

设置Android应用的Package Name, 注意Package Name要与创建License Key时填写的一致 。在Player Settings面板设置如下。

../_images/image_7.png

Target Architecture

如果需要编译支持arm64,需要使用IL2CPP编译并选择ARM64支持。在Player Settings面板设置如下。在不需要支持arm64架构的时候这个配置不是必须的。

../_images/image_58.png

EasyAR Sense不直接支持x86架构的Android系统,但是一般x86架构的设备芯片可以兼容arm程序,因此需要配置取消选择x86架构,这样在一些x86设备上(比如EPSON BT-350)可以正常使用。在Player Settings面板设置如下。在不需要支持x86设备的时候这个配置不是必须的。

../_images/image_59.png

权限配置

你可以检查 EasyAR 所使用的权限。请确保你所使用的功能所使用的权限是打开的。这些选项用于直接添加必要的权限到AndroidManifest中。

../_images/image_g4_3.png
  • Camera Device: 使用 CameraDevice 及其它需要使用相机设备的frame source需要的权限。启这个选项将会使用设备的相机权限。

  • Video Recording: 使用 VideoRecorder 需要的权限。开启这个选项将会使用设备的麦克风权限。

  • Cloud Spatial Map: 使用 CloudSpatialMapLocalizerFrameFilter 建议开启的权限。开启这个选项将会使用设备的 fine 定位权限(只有当com.easyar.spatialmap package存在时才起作用)。

ARCore 支持

目前EasyAR Sense支持1.6版本或以上版本的ARCore。在EasyAR Sense Unity Plugin中,ARCore的支持所需的库文件和配置已经在包中,不需要特殊配置,但手机中需要安装 Google Play Services for AR

选择 ARCore SDK

根据对ARCore的不同使用方式来更改 ARCore SDK 选项。

  • AR Foundation Or Optional: 随EasyAR或 AR Foundation 一起分发的ARCore SDK将会被包含在应用中,根据ARCore XR Plugin的设置决定。一般情况下推荐使用这个选项,它会自动处理 AR Foundation 的情况。

  • Optional: ARCore 功能在支持ARCore并安装了Google Play Services for AR的设备上可以使用。

  • Required: 应用将只能在支持ARCore并安装了Google Play Services for AR的设备上运行。

  • External: 如果你在使用 AR Foundation 或其它ARCore SDK分发,可以使用这个选项。这样随EasyAR一起分发的ARCore SDK将不会使用。你也可以使用这个选项来完全排除ARCore SDK在应用中的使用。

更多细节及应用所需要的配置请访问 Google的说明

注意: EasyAR的ARCore 封装在使用随EasyAR一起分发的ARCore SDK时,不会要求使用GLES3,这与 AR Foundation 所使用的 ARCore XR Plugin 不同。但是我们没有导出 ARCore 的丰富功能。如果你需要使用ARCore的平面检测等功能,仍旧建议使用 AR Foundation

注意: 如果有使用到 ARCore,必须使用 IL2CPP 并在构建中包含 arm64-v8a 。在arm64的设备上运行仅有armv7的程序,ARCore不会正常工作。

../_images/image_g4_1.png

Unity 2019.4 和 Android 11

如果你在使用Android SDK Platform >= 30构建应用,需要打开 ARCore For Android 11 才能使 ARCore 正常工作。使用Unity 2019.4构建的项目必须使用Gradle 5.6.4或更高版本。可以参考 Google的说明 来更新工程使用的Gradle版本。

../_images/image_g4_2.png

在 Unity 2020.1 或更高版本中,这个选项是始终开启的。

视频录制功能的特殊配置

如果要使用视频录制功能,需设置Graphics API 为OpenGL ES 2.0或3.0,并去掉Multithreaded Rendering的勾选。

../_images/image_14.png

同时需设置 Android API Level 18 或以上。

../_images/image_6.png