jptsetung at June 27th, 2012 06:45 — #1
I’m trying to understand why libcurl, libjpeg, libpng and lixml2 are provided with 3 different architectures. Does it depend on the OS you’re developing on or on the target device you are developing for?
If I develop on a macosx intel based, can I keep only libs/x86 ?
zhangxm at July 1st, 2012 23:49 — #2
Please refer NDK_ROOT/docs/CPU-FEATURES.html and NDK_ROOT/docs/CPU-ARCH-ABIS.html for more information.
libs under libs/armeabi can be used for all Android devices that use arm.
But if the device support armeabi-v7a, use libs under libs/armeabi-v7a can get better performance.
libs under libs/x86 can only be used on Android devices that use x86.
jptsetung at July 2nd, 2012 09:18 — #3
Thx, good readings. This is a bit more clear. I’ve seen the a variable \$(TARGET_ARCH_ABI) is used in the Android.mk of the libraries (curl, jpeg, …). I’m not sure what’s the value of this variable but I guess it’s ARMEABI. If I understand correctly ARMEABI is compatible with all android devices. I still don’t understand what’s the sue of x86ABI, maybe for the simulator?