ARM libraries on x86 devices

210 views
Skip to first unread message

ezmora

unread,
Jan 26, 2014, 6:56:52 AM1/26/14
to andro...@googlegroups.com

As far as I understand, ARM libraries are supposed to work seamlessly on Devices with Intel chips because of the Houdini layer which translates ARM instruction sets to x86 ones on the fly.
I recently had an issue with Galaxy Tab 3 10.1, where when I placed my ARM library under <libs/armeabi> I received a UnsatisfiedLinkError, but when I place the same ARM library under <libs/x86> everything worked just fine.

1. Does the OS determine the library chipset by the location of the library, or by actually looking into the library? Is this behavior device specific?
2. Any idea why removing my ARM library from  armeabi to x86  made it work?

John Gaby

unread,
Jan 26, 2014, 11:17:10 AM1/26/14
to andro...@googlegroups.com
That is odd.  I have tested all of my apps on the Galaxy Tab 3 10.1 and they all work with the ARM library in the libs/armeabi folder.

Eyal Zmora

unread,
Jan 26, 2014, 12:21:12 PM1/26/14
to android-ndk

Thanks for the info. Odd indeed...

--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at http://groups.google.com/group/android-ndk.
For more options, visit https://groups.google.com/groups/opt_out.

Xavier Hallade

unread,
Mar 10, 2014, 5:20:33 AM3/10/14
to andro...@googlegroups.com
Hi,

do you have a lib/x86 folder in your app ?
At installation time, the OS only takes the libs that are inside lib/x86 if this folder exist, and armeabi-v7a or armeabi if not.
The ABI is checked only later during the load of the library, by looking into it.

So if you have different libs in your x86 and armeabi folders, that would explain the behavior you've encountered.

Regards,
Xavier.
Reply all
Reply to author
Forward
0 new messages