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.
Thanks for these details, I'll be sure to pass this information along.
-Vuforia Support