Platform Requirements

Platform Support

EasyAR Sense is a cross-platform AR SDK. The following OSes are supported

  • Windows 7 and above (7/8.1/10/11)

  • Mac OS X 10.15 and above

  • Android 5.0 and above

  • iOS 9.0 and above

Notice: Due to the dependency for camera implementation on Media Foundation, Media Feature Pack is required on Windows N and KN variants.

More about the latest version of Android and iOS,

  • EasyAR Sense is compatiable with Android 12, the latest version of Android at the point of EasyAR Sense 4.5 release

  • EasyAR Sense is compatiable with iOS 15, the latest version of iOS at the point of EasyAR Sense 4.5 release

Generally, EasyAR Sense do not rely very much on system APIs, so if there are newer version of Android/iOS release, EasyAR Sense will most likely work smoothly on those systems.

CPU Architectures

  • Windows: x86, x86_64

  • Mac: x86_64

  • Android: armv7a, arm64-v8a

  • iOS: arm64

About Android Multiple CPU Architecture Support

EasyAR Sense provides armv7a and arm64-v8a binaries. Developers need to choose whether to use it or not.

In the apk of every application, there is a directory for every ABI, e.g. arm64-v8a .

Android for ARMv8-A support binary files of two ABIs: armeabi-v7a and arm64-v8a , but a process can only run with one ABI at a time. The ABI is selected automatically by the existence of these ABI directories, and so files from different ABIs can not mixed.

On x64 CPU, libhoudini can be used to run armeabi-v7a / arm64-v8a binaries with binary translation, but if apk contains x86 or x86_64 directory, the binary translator may not be activated.

So, when packaging an application, it is necessary to ensure the integrity of the directory of every ABI. If a directory is not complete, it's better to delete that directory.

Warning:

Since August 1, 2019, Google Play Store requires that an application with armeabi-v7a be committed with support for arm64-v8a. (Support 64-bit architectures)

ARM will stop supporting 32-bit since 2023. (Why Arm Is Making All Cortex-A Mobile Cores 64-bit Only)

API Languages

These language bindings are provided by EasyAR Sense by default.

  • Windows: C, C++17, traditional C++, C#

  • Mac: C, C++17, traditional C++, C#

  • Android: Java (also works for Kotlin), C, C++17, traditional C++, C#

  • iOS: Swift, Objective-C, C, C++17, traditional C++, C#

As EasyAR Sense provides a C API, you can always write your own API bindings for other languages.

Swift API for iOS

  • EasyAR Sense Swift API for iOS is compatiable with Swift 4 and Swift 5.

EasyAR Sense Swift API is provided in source code for the best compatibility.

Rendering API Requirement

Most features does not require a specific rendering API, except for the following.

  • Recorder, which requires OpenGLES 3.0

  • VideoPlayer, which requires OpenGLES 3.0