I'm trying to run the ARVR sample application for Android on an ODG R-7 (Android 6.0.1, API 23). I'm compiling the project with Android Studio 2.3.3. I've followed the instructions here: https://library.vuforia.com/articles/Solution/Getting-Started-with-Vuforia-for-Android-Development.html
...And created a license key using the License Manager and updated Vuforia.setInitParameters in SampleApplicationSession.java with my license key. When I launch the sample app via Android Studio and click either of the "AR" buttons I get the following error:
"Unfortunately, ARVR has stopped."
Tailing the log with logcat I see that the problem is caused by a ClassNotFoundException: "com.osterhoutgroup.api.ext.ExtendDisplay" can't be found. Here's the stacktrace:
10-24 13:35:07.205 15104-15104/com.vuforia.samples.ARVR D/AndroidRuntime: Shutting down VM 10-24 13:35:07.207 15104-15104/com.vuforia.samples.ARVR E/AndroidRuntime: FATAL EXCEPTION: main Process: com.vuforia.samples.ARVR, PID: 15104 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/osterhoutgroup/api/ext/ExtendDisplay; at com.vuforia.ar.pl.ODGR7Controller.logMetrics(ODGR7Controller.java:37) at com.vuforia.ar.pl.ODGR7Controller.doSetStereo(ODGR7Controller.java:77) at com.vuforia.ar.pl.ODGR7Controller.access$000(ODGR7Controller.java:21) at com.vuforia.ar.pl.ODGR7Controller$1.run(ODGR7Controller.java:59) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5483) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.osterhoutgroup.api.ext.ExtendDisplay" on path: DexPathList[[zip file "/data/app/com.vuforia.samples.ARVR-2/base.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.vuforia.samples.ARVR-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.vuforia.samples.ARVR-2/lib/arm, /data/app/com.vuforia.samples.ARVR-2/base.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_dependencies_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_0_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_1_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_2_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_3_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_4_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_5_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_6_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_7_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_8_apk.apk!/lib/armeabi-v7a, /data/app/com.vuforia.samples.ARVR-2/split_lib_slice_9_apk.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.vuforia.ar.pl.ODGR7Controller.logMetrics(ODGR7Controller.java:37) at com.vuforia.ar.pl.ODGR7Controller.doSetStereo(ODGR7Controller.java:77) at com.vuforia.ar.pl.ODGR7Controller.access$000(ODGR7Controller.java:21) at com.vuforia.ar.pl.ODGR7Controller$1.run(ODGR7Controller.java:59) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5483) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Suppressed: java.lang.ClassNotFoundException: com.osterhoutgroup.api.ext.ExtendDisplay at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 12 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 10-24 13:35:07.314 15104-15696/com.vuforia.samples.ARVR D/AR: RenderManager: Could not retrieve a valid GLSurfaceView in view hierarchy, therefore cannot set any render mode
Any help resolving this issue would be appreciated. Thanks in advance.
Hello rustyalitheon,
Hello rustyalitheon,
Just a few questions for you. What version of Vuforia are you using? Were you connected to wifi? What is the firmware version of your ODG R-7?
Thanks,
Hi Strasza,
Hi Strasza,
No I was not connected to Wi-Fi.
Regarding the ODG R-7:
I'm waiting on more
I'm waiting on more information related to this. As soon as I get it, I'll give you an update here.
Thanks for your patience,
-Vuforia Support
Thanks, Strasza. I'll keep an
Thanks, Strasza. I'll keep an eye on this thread for updates.
Hello again,
Hello again,
Hi Strasza,
Hi Strasza,
That's disappointing, but understandable. Thanks for your help and I'll continue to monitor this thread for updates.
Can you give me the last
Can you give me the last "known good" version of the ODG firmware that is compatible with Vuforia? I'd like to contact ODG to see if I can downgrade my glasses.
You'll need to get the
You'll need to get the glasses down to Android 4 or 4.4 and the firmware version would be 3.5.19 (or earlier). This worked with Unity 5.6 and Vuforia 6.2.10.
Thanks,
Hi Strasza,
Hi Strasza,
I found a solution. Please pass this along to the dev team:
Thanks for these details, I
Thanks for these details, I'll be sure to pass this information along.
-Vuforia Support