geopaparazzi / libjsqlite-spatialite-android

Project to create the libjsqlite.so used in geopaparazzi
75 stars 24 forks source link

libjsqlite.so for ARMv8-A #13

Closed dnaxxsk closed 7 years ago

dnaxxsk commented 8 years ago

Would it be possible for you to build this library also for the ARMv8-A as it is now on some android devices (http://developer.android.com/ndk/guides/abis.html) ? Or is the version for armeabi-v7a usable for these chips as well?

mj10777 commented 8 years ago

As far as I can see, the Android Sdk Manager does not support this directly

It is listed at: http://developer.android.com/ndk/guides/abis.html

This ABI is for ARMv8-based CPUs that support AArch64. It also includes the NEON and VFPv4 instruction sets.
For more information, see the ARMv8 Technology Preview, and contact ARM for further details.

I assume a System-Image is needed and normally Android Sdk Manager installs these together with the needed toolchain

DavidTomic commented 7 years ago

Hi,

On arm64-v8a device if I want use spatialite, I get this exception:

Fatal Exception: java.lang.UnsatisfiedLinkError dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.interactive1.vozistedi.debug-1/base.apk"],nativeLibraryDirectories=[/data/app/com.interactive1.vozistedi.debug-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libandroid_spatialite.so"

I'm using spatialite from this url: https://github.com/geopaparazzi/libjsqlite-spatialite-android/tree/master/archive version: 20150616.libjsqlite.4.3.0.tar

Please can you tell me is there any way to run spatialite on arm64-v8a ? Thank you.

DavidTomic commented 7 years ago

In case someone needs it, I solve above problem using this:

android { .... defaultConfig { .... ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "mips" } } }

Explanation is here: http://stackoverflow.com/a/30799825

mj10777 commented 7 years ago

Sorry about not replying. Nice to know that it is resolved. The 'mips' portion should not be needed, since only the first 3 are being created.