Start a new topic

UnsatisfiedLinkError with libarchitect.so in 64 bit devices (Nexus 9)

UnsatisfiedLinkError with libarchitect.so in 64 bit devices (Nexus 9)


Hi!

 

I have installed today in a Nexus 9 (64 bits) with Android 5.1 an Application that uses Wikitude SDK. I get the following error when I launch my AR view (when it tries to inflate com.wikitude.architect.ArchitectView):

 

12-12 20:28:53.803: E/AndroidRuntime(14214): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx.xxxxx/com.xxxxx.xxxxx.activities.ARViewActivityWithClusters}: android.view.InflateException: Binary XML file line #25: Error inflating class com.wikitude.architect.ArchitectView

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.ActivityThread.access$800(ActivityThread.java:144)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.os.Handler.dispatchMessage(Handler.java:102)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.os.Looper.loop(Looper.java:135)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.ActivityThread.main(ActivityThread.java:5221)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at java.lang.reflect.Method.invoke(Native Method)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at java.lang.reflect.Method.invoke(Method.java:372)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

12-12 20:28:53.803: E/AndroidRuntime(14214): Caused by: android.view.InflateException: Binary XML file line #25: Error inflating class com.wikitude.architect.ArchitectView

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.createView(LayoutInflater.java:633)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.Activity.setContentView(Activity.java:2144)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.xxxxxxx.xxxxxxx.activities.ARViewActivityWithClusters.onCreate(ARViewActivityWithClusters.java:177)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.Activity.performCreate(Activity.java:5933)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)

12-12 20:28:53.803: E/AndroidRuntime(14214):  ... 10 more

12-12 20:28:53.803: E/AndroidRuntime(14214): Caused by: java.lang.reflect.InvocationTargetException

12-12 20:28:53.803: E/AndroidRuntime(14214):  at java.lang.reflect.Constructor.newInstance(Native Method)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at java.lang.reflect.Constructor.newInstance(Constructor.java:288)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at android.view.LayoutInflater.createView(LayoutInflater.java:607)

12-12 20:28:53.803: E/AndroidRuntime(14214):  ... 22 more

12-12 20:28:53.803: E/AndroidRuntime(14214): Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.xxxxxx.xxxxxxxx/libarchitect.so" is 32-bit instead of 64-bit

12-12 20:28:53.803: E/AndroidRuntime(14214):  at java.lang.Runtime.load(Runtime.java:331)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at java.lang.System.load(System.java:982)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.wikitude.architect.ArchitectView.a(Unknown Source)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.wikitude.architect.ArchitectView.a(Unknown Source)

12-12 20:28:53.803: E/AndroidRuntime(14214):  at com.wikitude.architect.ArchitectView.<init>(Unknown Source)

12-12 20:28:53.803: E/AndroidRuntime(14214):  ... 25 more

 

I have bought this tablet to do a demo to a client next week, so any help will be very very welcome. I tried this solution, but with no sucess (I am not sure if files were linked correctly):

http://stackoverflow.com/questions/27174303/android-5-0-lollipop-dlopenrtld-lazy-failed-dlopen-failed-cannot-locate-symb

 

I also read that I need to get the native library to be compatible with 64-bit for it to work, but..., where can I find libarchitect.so library for 64bit???

 

Please any help....

 

Thank you very much in advance!!!

 

Santiago

I am using SDK5.0, still its getting crashed repeatedly.

SDK 5.0 is still in beta, if you experience problems with this version, please send us more information about your test device and specific error (possibl including a log file).

Hello Sikandar .. Sir .. I am facing same issue those days.. can you please come in contact with me via email? i am using native API for android

I am using SDK4.1 

Still facing same issue, even after following above procedure 

Hi Sikandar,

did you update to the latest SDK version?

Best regards,
Simon

Hi, we are aware of this issue on the Nexus 9, and we are testing a possible solution, which will probably be available in a developer channel release in the next days.

I'll keep you up to date with our progress on this.

Thanks Gabriele.

I hope it will be available soon. Please tell me using this forum so I, and everyone, can know about the solution.

Thank you!

Santiago 

The real solution to this problem is compiling a 64-bit native library, and that will be done for the next official release.

However, there is a workaround for this particular issue which requires no SDK updates: you have to extract the native libraries from the JAR file (which is actually a zip file), and put them into the 'libs' folder of your application.

For example, if you are using Linux, Mac OS X or a POSIX shell in Microsoft Windows:

cd <your app directory>/libs
unzip wikitudesdk.jar libs/*
mv libs/* .
rmdir libs


The application will load the right library automatically, and won't complain about 32-bit libraries.
Please check if that solves your problem, and tell us about any further issues.

Hello!

I did exactly what you told me and... I can access AR view now!!

Thank you very much for the solution and for the speed, you are great!

Dear Wkitude developers:

This issue also happen on Sony 64 bit-OS smart phone.

APP can't be launched and re-crash when user want to open it.

Please help to solve it, thanks.

Hi,

The new Wikitude SDK 4.1 has native 64-bit support, and it is going to be released very soon..
Login or Signup to post a comment