Google ARCore (dev preview 1) for "unsupported" Android devices
Google's ARCore developer preview for Android is awesome. Unfortunately, my Android phone (Samsung GS8+) was not on the supported list, and apps built with ARCore exit at start on my device. However, its hardware actually can run ARCore!
I modified the Android library to strip the ARCore device check, and ARCore started working on the device.
ARCore has been updated to Preview 2 by Google. More devices are now supported. Another project on GitHub, ARCore Patch, aims to extend unofficial device support for the new version.
Please see below for research on the first preview build.
This branch is unlikely to work on most devices.
Please check out the service mod branch of this repo to help us develop the latest experiment to bring ARCore to more devices. Thanks!
In your Android project, simply replace the Google-provided arcore_client.aar
with the one in this repo, and voilà! ARCore on any Android device.
~Make sure to first install ARCore Service - "Preparing your Device" section of Google's instructions~
In your Unity project, simply replace the Google-provided unitygar.aar
(located in GoogleARCore/SDK/Plugins/
) with the one in this repo, and voilà! ARCore on any Android device, within Unity.
~Make sure to first install ARCore Service - "Preparing your Device" section of Google's instructions~
Please keep in mind that (at the time of this writing) only 3 Android devices are officially supported by ARCore, so this hack might not work. I also take no responsibility for damage to your software. It's worth a try, though! ;)
To modify the original ARCore AAR library, follow the below instructions. You will need a java class decompiler, such as CFR.
unzip arcore_client-original.aar -d aar-tmp
cd aar-tmp
unzip classes.jar -d classes-tmp
cd classes-tmp
cd com/google/atap/tangoservice
java -jar /path/to/cfr.jar SupportedDevices.class > SupportedDevices.java
return false
from the end of isSupported()
javac -cp /path/to/sdk/platform/android.jar -source 1.7 -target 1.7 SupportedDevices.java
rm SupportedDevices.java
cd ../../../../../
jar cvf classes.jar -C classes-tmp .
cd ..
jar cvf arcore_client.aar -C aar-tmp .
After the above steps, you will have a modified arcore_client.aar
with device verification stripped. Now you can replace the AAR in your project and build to any hardware-capable Android device!
The official library has a minimum SDK version of Android 7.0 (Nougat). See @kenfast's research for installing on pre-7.0.
these instructions contributed by GitHub user Ila Maheshwari. Thank you!
adb install [filename].apk
to install it to your device.Original library by Google
Modification by Thomas Suarez ("tomthecarrot") and Contributors to this project on GitHub.