Start a new topic

Vuzix M4000 and Sample SDK

 Hi,


I was trying to build and launch SDK Examples provided for M300 Vuzix AR glasses on M4000 glasses. While the SDE Example app builds successfully, it crashes on launch. It seems related to progaurd,


I see example build.gradle has following

buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' debuggable true }


While the crash stack trace below indicates ProGuard at work...


at java.lang.System.loadLibrary(System.java:1669) at com.wikitude.architect.ArchitectView.<clinit>(ProGuard:159) at com.wikitude.architect.ArchitectView.getPermissionManager(ProGuard:1252)



This is confusing, any help will be appreciated. It would be great if I could get confirmation that if

Android SDK - https://cdn.wikitude.com/sdk/9.6/WikitudeSDK_Android_9-6-0_2021-02-21_23-34-48.zip


Is supposed to work on VuzixM4000 rather than Vuzix specific SDK examples

https://cdn.wikitude.com/sdk/8.10.0/WikitudeSDK_Vuzix_8-10-0_2019-12-10_11-37-31.zip



Hi,


Unfortunately, we don't support x86 arquitecture anymore. I would suggest you to use the Android SDK that comes from our Vuzix sample app -> https://www.wikitude.com/download-wikitude-sdk-for-vuzix/ which includes the 8.10.0 version of our SDK. If you try our 9.6 version, it won't find x86 library which is causing the issue you are having right now.


Regards,


Aitor.

Hi Aitor,


This seems counter to my experience. Specifically, I tried using both 8.10.0 and 9.6 versions of JS SDK.

With 8.10.0, example app crashed immediately on launch in Vuzix M4000 and android phone (Motorola One Power). With 9.6 sample app works on phone, and on Vuzix M4000 app does not crash but the ArchitectView doesn't load up either resulting in black/transparent screen with no camera preview, even though camera is switched on.


Since android phone is also on ARM chip, am not sure how x86 library comes into play here.

I tried building the custom trial app with 8.10.0 and launching it on phone,

implementation 'com.wikitude:js:9.6.0'

was replaced by

com.wikitude:js-vuzix-m300:8.10.0


the exception I got on phone is ...


java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.hellovuzix-CwZ_auh9hYtdQpXRa-90IA==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.hellovuzix-CwZ_auh9hYtdQpXRa-90IA==/lib/arm64, /data/app/com.example.hellovuzix-CwZ_auh9hYtdQpXRa-90IA==/base.apk!/lib/arm64-v8a, /system/lib64]]] couldn't find "libarchitect.so"


So am not sure if this will work on Vuzix M4000 either.




Thanks,

Himanshu

I just check on M4000 as well


same issue as with phone when using

com.wikitude:js-vuzix-m300:8.10.0


2021-03-10 13:22:01.128 2315-2315/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.hellovuzix, PID: 2315
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.hellovuzix-F6U3JdW2ADvCREqDhj7c3A==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.hellovuzix-F6U3JdW2ADvCREqDhj7c3A==/lib/arm64, /data/app/com.example.hellovuzix-F6U3JdW2ADvCREqDhj7c3A==/base.apk!/lib/arm64-v8a, /system/lib64]]] couldn't find "libarchitect.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
        at java.lang.System.loadLibrary(System.java:1669)
        at com.wikitude.architect.ArchitectView.<clinit>(ProGuard:159)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)

Hi,


If you have a look at the error log, the java.lang.UnsatisfiedLinkError is telling you that the arm64 libarchitect.so library is missing on 8.10.0. That is correct as the latest vuzix sample to download only has the x86 version of our library. As your device may have an arm8 chip, is expected that our Vuzix SDK doesn't work there. Same for the Vuzix M4000.


This is not a problem with our 9.6 version -> https://cdn.wikitude.com/sdk/9.6/WikitudeSDK_Android_9-6-0_2021-02-21_23-34-48.zip as we are building our SDK for arm7 and arm8 architectures. Nevertheless, we can't assure you that our SDK will support the Vuzix M4000, as we didn't implement anything to do so, and supporting the device is not part of our current scope.


Regards,


Aitor.

I just check on M4000 as well


same issue as with phone when using

com.wikitude:js-vuzix-m300:8.10.0


2021-03-10 13:22:01.128 2315-2315/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.hellovuzix, PID: 2315
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.hellovuzix-F6U3JdW2ADvCREqDhj7c3A==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.hellovuzix-F6U3JdW2ADvCREqDhj7c3A==/lib/arm64, /data/app/com.example.hellovuzix-F6U3JdW2ADvCREqDhj7c3A==/base.apk!/lib/arm64-v8a, /system/lib64]]] couldn't find "libarchitect.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
        at java.lang.System.loadLibrary(System.java:1669)
        at com.wikitude.architect.ArchitectView.<clinit>(ProGuard:159)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)


click here


I was able to resolve this. M4000 is ARM CPU based android AR glasses. Hence you need to use standard Android JS SDK , and additionally disable Camera2 (enable Camera 1).  Standar SDK with Camera 2 does not work on M4000

Login or Signup to post a comment