google-ar / arcore-android-sdk

ARCore SDK for Android Studio
https://developers.google.com/ar
Other
4.98k stars 1.22k forks source link

Zenfone AR not supported with ARCore 1.4? #512

Closed michaelvogt closed 6 years ago

michaelvogt commented 6 years ago

When installing ARCore 1.4, I get a UnavailableDeviceNotCompatibleException. Verified also with a couple of other applications.

Reinstalled ARCore 1.3 which worked as before.

So, is the support of this phone removed?

pixelkot commented 6 years ago

I am using Zenfone AR and ARCore 1.4 works. Yesterday, I had an error about AR Core not being supported on the phone but after uninstalling and reinstalling AR Core, it worked (versino 1.4).

inio commented 6 years ago

@michaelvogt That is quite odd. If you can still reproduce it, please capture a logcat from app launch to the not compatible error.

michaelvogt commented 6 years ago

@Kostoeva Yes, I also did the uninstall/reinstall/restart game before creating the issue, but with no change on my device. Glad that yours works.

@inio This is what I get when starting the hello ar java sample

08/05 08:52:19: Launching app $ adb push C:\Users\Michael Vogt\git\arcore-android-sdk\samples\hello_ar_java\app\build\outputs\apk\debug\app-debug.apk /data/local/tmp/com.google.ar.core.examples.java.helloar $ adb shell pm install -t -r "/data/local/tmp/com.google.ar.core.examples.java.helloar" Success APK installed in 2 s 803 ms $ adb shell am start -n "com.google.ar.core.examples.java.helloar/com.google.ar.core.examples.java.helloar.HelloArActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Client not ready yet..Waiting for process to come online Connected to process 21994 on device asus-asus_a002-H5AKCV004050ZYN Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page. V/Monotype: SetAppTypeFace- try to flip, app = com.google.ar.core.examples.java.helloar V/Monotype: Typeface getFontPathFlipFont - systemFont = /data/mt_fonts/0/MYuppyHK-Medium#優皮體 W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable V/Monotype: SetAppTypeFace- try to flip, app = com.google.ar.core.examples.java.helloar Typeface getFontPathFlipFont - systemFont = /data/mt_fonts/0/MYuppyHK-Medium#優皮體 I/third_party/arcore/ar/core/android/sdk/session_create.cc: Entering ArSession_create I/third_party/arcore/ar/core/android/sdk/session_create.cc: ARCore Version: APK version code: 180716066 W/native: commandlineflags.cc:1311 Ignoring RegisterValidateFunction() for flag pointer 0x7f7a300818: no flag found at that address I/native: version_check.cc:23 ARCore Version: APK version:1.4.180716066 version_check.cc:24 ARCore Version: emulated SDK version:1.4.180626000 I/third_party/arcore/ar/core/android/sdk/session_create.cc: ARCore Version: SDK build name: 1.4 Dynamite load ok. W/native: commandlineflags.cc:1311 Ignoring RegisterValidateFunction() for flag pointer 0x7f65dfb2e8: no flag found at that address I/native: session_create_implementation.cc:49 Entering ArSession_createImplementation. ARCore SDK version: [1.4.180626000]. V/third_party/redwood/base/jni_common/jni_helper.cc: ~JniHelper: did not need to detach thread. (Called from line 20.) ~JniHelper: did not need to detach thread. (Called from line 703.) JniHelper: about to attach thread. (Called from line 90.) JniHelper: thread already attached. (Called from line 90.) V/third_party/redwood/base/jni_common/jni_helper.cc: ~JniHelper: did not need to detach thread. (Called from line 90.) E/native: session_create_implementation_shared.cc:493 Device is not supported. V/third_party/redwood/base/jni_common/jni_helper.cc: ~JniHelper: did not need to detach thread. (Called from line 448.) E/native: session_create_implementation.cc:85 Failed to create calibration provider. W/native: session_create_implementation.cc:86 ArSession_createImplementation returning ArStatusErrorSpace::AR_UNAVAILABLE_DEVICE_NOT_COMPATIBLE: . V/third_party/redwood/base/jni_common/jni_helper.cc: JniHelper: about to attach thread. (Called from line 62.) JniHelper: thread already attached. (Called from line 62.) ~JniHelper: did not need to detach thread. (Called from line 62.) E/HelloArActivity: Exception creating session com.google.ar.core.exceptions.UnavailableDeviceNotCompatibleException at com.google.ar.core.P.a(Unknown Source) at com.google.ar.core.Session.throwExceptionFromArStatus(Unknown Source) at com.google.ar.core.Session.nativeCreateSession(Native Method) at com.google.ar.core.Session.(Unknown Source) at com.google.ar.core.examples.java.helloar.HelloArActivity.onResume(HelloArActivity.java:145) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1270) at android.app.Activity.performResume(Activity.java:6847) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3397) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3460) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2713) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:159) at android.app.ActivityThread.main(ActivityThread.java:6097) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) I/Adreno: QUALCOMM build : 8740a27, Ie4d56a70f3 Build Date : 11/22/16 OpenGL ES Shader Compiler Version: XE031.09.00.03 Local Branch : Remote Branch : Remote Branch : Reconstruct Branch : I/OpenGLRenderer: Initialized EGL, version 1.4 D/OpenGLRenderer: Swap behavior 1 W/art: Suspending all threads took: 5.125ms I/art: Background partial concurrent mark sweep GC freed 6246(341KB) AllocSpace objects, 6(5MB) LOS objects, 40% free, 7MB/11MB, paused 5.652ms total 20.688ms I/Choreographer: Skipped 38 frames! The application may be doing too much work on its main thread. V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[]) mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease() V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[]) mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String) mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop() V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@b15bd16

Fingerprint: asus/WW_ASUS_A002/ASUS_A002:7.0/NRD90M/14.1600.1805.51-20180626:user/release-keys

nikolobok commented 6 years ago

Is Tango IR depth sensor features integrated and ported into ARCore?

inio commented 6 years ago

@michaelvogt Thank you for the detailed report. That should help us track it down.

@nikolobok see #120

inio commented 6 years ago

Good News! We've been able to reproduce this issue and have developed a fix. We're still pretty baffled with what's going on under the hood (on upgrade it creates a new calibration directory but then fails to get a valid fd when writing the first calibration file to it, but only on the ZenFone AR).

Bad News ☹️: We were unable to reproduce the sticky failure @michaelvogt reports. All our tests showed the issue being resolved by uninstall & reinstall. This might be complicated by automatic backups restoring.

michaelvogt commented 6 years ago

@inio Good News! I got v. 1.4 running on my phone. Instead of updating ARCore, I first removed it. Then I switched automatic restore in the Backup & reset system panel off. After installing ARCore I could start applications successfully as with v. 1.3

eddielong commented 6 years ago

I have a similar issue (I think) on upgrading from ARCore 1.3 to 1.4. Upon upgrading I'm seeing the following error:

08-14 11:24:15.675 15133-15133/com.blippar.ar.android.debug I/ARCoreSession: ArSession_create
08-14 11:24:15.675 15133-15133/com.blippar.ar.android.debug I/third_party/arcore/ar/core/android/sdk/session_create.cc: Entering ArSession_create
08-14 11:24:15.683 15133-15133/com.blippar.ar.android.debug I/third_party/arcore/ar/core/android/sdk/session_create.cc: ARCore Version: APK version code: 180716066
08-14 11:24:15.732 15133-15133/com.blippar.ar.android.debug I/r.android.debu: The ClassLoaderContext is a special shared library.
08-14 11:24:15.752 15133-15133/com.blippar.ar.android.debug W/native: commandlineflags.cc:1311 Ignoring RegisterValidateFunction() for flag pointer 0xd4dd57e8: no flag found at that address
08-14 11:24:15.753 15133-15133/com.blippar.ar.android.debug I/native: version_check.cc:23 ARCore Version: APK version:1.4.180716066
    version_check.cc:24 ARCore Version: emulated SDK version:1.4.180626000
08-14 11:24:15.753 15133-15133/com.blippar.ar.android.debug I/third_party/arcore/ar/core/android/sdk/session_create.cc: ARCore Version: SDK build name: 1.4
    Dynamite load ok.
08-14 11:24:15.777 15133-15133/com.blippar.ar.android.debug W/native: commandlineflags.cc:1311 Ignoring RegisterValidateFunction() for flag pointer 0xc29dce00: no flag found at that address
08-14 11:24:15.781 15133-15133/com.blippar.ar.android.debug I/native: session_create_implementation.cc:49 Entering ArSession_createImplementation. ARCore SDK version: [1.4.180626000].
08-14 11:24:15.827 15133-15133/com.blippar.ar.android.debug E/native: session_create_implementation_shared.cc:493 Device is not supported.
08-14 11:24:15.827 15133-15133/com.blippar.ar.android.debug E/native: session_create_implementation.cc:85 Failed to create calibration provider.
08-14 11:24:15.827 15133-15133/com.blippar.ar.android.debug W/native: session_create_implementation.cc:86 ArSession_createImplementation returning ArStatusErrorSpace::AR_UNAVAILABLE_DEVICE_NOT_COMPATIBLE: 

Subsequent attempts to start the ARSession are successful, even in the same session/process.

NOTE: one significant difference between the original report is that I get incompatible device even on a fresh install.

inio commented 6 years ago

@eddielong that sounds like #469.

eddielong commented 6 years ago

Roger, this is seen on a Pixel device. Not quite an obscure one as suggested by #469

inio commented 6 years ago

469 is on a pixel2. All the pixel devices have names that alphabetically come after the huge number of Galaxy 7 and 8 devices so they're uniquely susceptible to this bug.

inio commented 6 years ago

This was fixed a while back in our Play Store release. This APK has now bee posted to our GitHub releases page.