Start a new topic

Crash when running Wikitude library on Amazon Kindle Fire device

When attempting to run the Android JavaScript SDK on an Amazon device running API 19, I consistently get the following crash in the native libraries:


java.lang.NoSuchFieldError: no field with name='nativePtr' signature='J' in class Lcom/wikitude/architect/util/internal/ArchitectSDKBuildInformationInternal;
10-04 16:43:52.534 7895-7895/com.washingtonpost.android I/dalvikvm:     at com.wikitude.architect.util.internal.ArchitectSDKBuildInformationInternal.createNative(Native Method)


Is there a way to resolve this crash?  Does it mean some benchmark isn't being met, or does it mean that Amazon devices aren't supported?  Thanks.


1 person has this problem

Hello Alex,


I spent some more time and have identified that the crash was because the Wikitude classes were obfuscated while i was building my hybrid app.


Added the following line to my progaurd-project.txt file


-keep class com.wikitude.architect.** { *; }


After rebuilding the app it does not crash anymore in android. 

Currently getting an Altert message "Loading AR web view failed: app.package.name.R$string" 


Hi Alex ...
I continued the analysis and I am still getting an error with the the combination i had mentioned earlier. 

One correction in the previous message is the version of cordova-android was 6.3.0

I have attached the stack trace for your reference. It will be very useful if you could help assess the issue.

I tried the ionic3 cordova app from Github. That seem to be working fine. 
The main difference is that my project is a pure Cordova project.

Regards,

Vijay 

txt
(12.6 KB)

Hi, 


does this also happen when running our cordova example app?


Best Regards,

Alex

Hello Alex/Wikitude Support,


I am facing the exact same issue while trying to use the app in Android phone. I built and Cordova hybrid app using the Wikitude Cordova plugin.


Here are the environment spec:

Phone OS : Android Nougat 7.0

cordova: 6.5.0

cordova-android: 5.1.1

Wikitude Plugin: 7-2-1_3-5-2_2018-02-21_15-01-01



 

Hi Daniel,


have you tried to run your app on non-kindle devices as well?

Unfortunately I do not know of any customers who are running it on Amazon devices.


Could you provide a project only containing the code which we could use to try to reproduce the issue?


Best Regards,

Alex


In order to test the obfuscation theory, I added

-keep class com.wikitude.wikitude.architect.** { *; }
to my proguard file, but it didn't seem to have any impact.  As far as issues with JNI libraries, we use multiple other JNI libraries and don't seem to have any issue on Amazon Kindle devices with them.  I've tested other Amazon devices and have seen these issues on those as well.  The specific device I'm using to test, if that proves helpful, is an Amazon KFSOWI running API 19.  Have you heard from other clients who have successfully run Wikitude on Amazon devices?  If so, what steps are required to get this working?  Thanks.

 

Hi Daniel,


When encountering this crash i would assume that there is some issue with obfuscation (nativePtr did not keep its name) but this should lead to a crash on all devices and not just the Kindle Fire. 

What i could think of is some kind of device specific issues when calling java code from c++ over JNI. 


Could you try to run some code on your device which accesses a java field in c++ to test if this works? There are some android ndk samples from google who do this so you could just test it with one of those.


Best Regards,

Alex


1 person likes this
Login or Signup to post a comment