Can we run Google ARCore in non-supported Android Device?

Viewed 2271

We have customized ROM for Android P and running on one of our QCom board. We're trying to run the ARCore in our test android app just to make sure that our devices will have support for the Google ARCore.

Now in order to make it work, I've followed the steps mentioned here:

Download & Installed the Google Play Services for ARCore.apk from https://developers.google.com/ar/develop/java/emulator#update-arcore

Download & Installed the ARCore test app from https://github.com/google-ar/arcore-android-sdk/tree/master/samples/hello_ar_java/app/src/main/java/com/google/ar/core/examples/java/common/rendering

Now when I tried to run the app I am getting this exception:

06-24 10:14:45.858 31388 31388 E native  : session_create_implementation_shared.cc:1912 Unable to obtain device profile from the content provider: NOT_FOUND: Device is not supported.
06-24 10:14:45.858 31388 31388 E native  : session_create_implementation_shared.cc:1670 Failed to create calibration config and device profile.
06-24 10:14:45.859 31388 31388 W native  : session_create_implementation_shared.cc:1671 CreateDeviceProfileDirectDependencies returning NOT_FOUND:
06-24 10:14:45.859 31388 31388 W native  : ARCoreError: third_party/arcore/ar/core/android/implementation/session_create_implementation_shared.cc:1916
06-24 10:14:45.859 31388 31388 W native  :  [type.googleapis.com/util.ErrorSpacePayload='ArStatusErrorSpace::AR_UNAVAILABLE_DEVICE_NOT_COMPATIBLE'].
06-24 10:14:45.859 31388 31447 V third_party/redwood/infrastructure/jni_common/jni_helper.cc: ~JniHelper: about to detach thread (Called from line 339).
06-24 10:14:45.859 31388 31447 V third_party/redwood/infrastructure/jni_common/jni_helper.cc: ~JniHelper: detached thread (Called from line 339).
06-24 10:14:45.860 31388 31388 E native  : error_policy_util.cc:260
06-24 10:14:45.860 31388 31388 E native  : ################ ARCore Native Error ##################
06-24 10:14:45.860 31388 31388 E native  : BUILD_CHANGELIST:309859035
06-24 10:14:45.860 31388 31388 E native  : BUILD_BASELINE_CHANGELIST:307322850
06-24 10:14:45.860 31388 31388 E native  : ################### Stack Trace Begin ################
06-24 10:14:45.860 31388 31388 E native  : ARCoreError: third_party/arcore/ar/core/android/implementation/session_create_implementation_shared.cc:1916  https://cs.corp.google.com/piper///depot/google3/third_party/arcore/ar/core/android/implementation/session_create_implementation_shared.cc?g=0&l=1916
06-24 10:14:45.860 31388 31388 E native  : ARCoreError: third_party/arcore/ar/core/android/implementation/session_create_implementation.cc:257  https://cs.corp.google.com/piper///depot/google3/third_party/arcore/ar/core/android/implementation/session_create_implementation.cc?g=0&l=257
06-24 10:14:45.860 31388 31388 E native  : ARCoreError: third_party/arcore/ar/core/android/implementation/session_create_implementation.cc:337  https://cs.corp.google.com/piper///depot/google3/third_party/arcore/ar/core/android/implementation/session_create_implementation.cc?g=0&l=337
06-24 10:14:45.860 31388 31388 E native  : ################### Stack Trace End #################
06-24 10:14:45.860 31388 31388 E native  :
06-24 10:14:45.975 26848 26880 E libc    : Access denied finding property "ro.hardware.chipname"
06-24 10:14:45.965 26848 26848 W com.android.vending: type=1400 audit(0.0:654): avc: denied { open } for comm=62674578656375746F72202331 path="/dev/__properties__/u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=12631 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
06-24 10:14:46.010 31388 31388 E HelloArActivity: Exception creating session
06-24 10:14:46.010 31388 31388 E HelloArActivity: com.google.ar.core.exceptions.UnavailableDeviceNotCompatibleException
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at java.lang.reflect.Constructor.newInstance0(Native Method)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.google.ar.core.Session.throwExceptionFromArStatus(Session.java:102)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.google.ar.core.Session.nativeCreateSessionAndWrapperWithFeatures(Native Method)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.google.ar.core.Session.<init>(Session.java:14)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.google.ar.core.Session.<init>(Session.java:6)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.google.ar.core.examples.java.helloar.HelloArActivity.onResume(HelloArActivity.java:169)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1413)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.Activity.performResume(Activity.java:7300)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3815)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3855)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1817)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.os.Handler.dispatchMessage(Handler.java:106)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.os.Looper.loop(Looper.java:193)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at android.app.ActivityThread.main(ActivityThread.java:6746)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at java.lang.reflect.Method.invoke(Native Method)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-24 10:14:46.010 31388 31388 E HelloArActivity:       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:870)

I believe it is because of my device is not in the list of ARCore supported devices: https://developers.google.com/ar/discover/supported-devices

My question is, is there a way I can run ARCore in my device? I have also downloaded the ARCore SDK source code, is there a way I can update that source code and run AR Core app on my device?

Thanks in Advance.

1 Answers

If your Android smartphone is not on the list of supported ARCore devices, try to use PTC Vuforia 9.0 for Unity. There are some chances that your phone may build ARCore projects via Vuforia.

Also, you can try to install ARCore-for-All with ARCore-Patch to get around ARCore installation's restrictions but I'm not sure if it'll helps you to cheat Google. And please take into consideration that installation of these libs may break/compromise security of your Android OS.

Related