Skip to content
Mark Johnson edited this page Jan 16, 2015 · 93 revisions

Welcome to the libjsqlite-spatialite-android wiki!

Project to create the libjsqlite.so used in geopaparazzi

  • android-ndk-r9c was used to compile this project properly
    • LOCAL_LDLIBS is always ignored for static libraries
  • for proper SpatialIndex support, the rtree module must be activated in the sqlite.mk files
    • -DSQLITE_ENABLE_RTREE=1 in the common_sqlite_flags
  • in the archive directory there is a archive with the compile library’s of the latest version:
    • [[201400726.libjsqlite.4.2.0.tar.bz2 - 9.6 MB |https://raw.github.com/geopaparazzi/libjsqlite-spatialite-android/master/archive/20140726.libjsqlite.4.2.0.tar.bz2 ]]
wget https://raw.github.com/geopaparazzi/libjsqlite-spatialite-android/master/archive/20140726.libjsqlite.4.2.0.tar.bz2
  • this version will be used in the next release of geopaparazzi [2014-07-26]:
DaoSpatialite.JavaSqliteDescription
[
 sqlite[3.8.5],
 spatialite[4.2.0],
 proj4[Rel. 4.8.0, 6 March 2012],
 geos[3.4.2-CAPI-1.8.2 r3921],
 spatialite_properties
 [
  HasIconv[1],HasMathSql[1],HasGeoCallbacks[0],HasProj[1],
  HasGeos[1],HasGeosAdvanced[1],HasGeosTrunk[0],HasLwGeom[0],HasLibXML2[1],
  HasEpsg[1],HasFreeXL[0],HasGeoPackage[1],
  target_cpu[armeabi-v7a]
 ],
 rasterlite2_properties[none]
]
recovery_mode[STRICT]

--

  • setting compiler specific flags
    • TARGET_ARCH will have the present compiler that is running
      • -mfpu=neon for libwebp-0.4.0.mk
        • must be used for armeabi armeabi-v7a
        • but not used for x86
webp_flags := \
 -DHAVE_CONFIG_H=1 

ifeq ($(TARGET_ARCH),x86)
 LOCAL_CFLAGS   := $(webp_flags)
else 
 ifeq ($(TARGET_ARCH),mips)
  LOCAL_CFLAGS   := $(webp_flags)
 else
  LOCAL_CFLAGS   := -mfpu=neon $(webp_flags)
 endif
endif

* `Themes`: * 'Directory structure' * 'Configuration used presently [2014-01-04 - spatialite 4.1.1]' * './configure` commands' * 'Compiling and expected results' * 'Adding new project sources' * 'Known portions of the project that do not work' * 'when the use of `ndk-build clean` fails'
* `Projects`: * 'Android_4.1.1.mk - for Spatialite 4.1.1' * `jsqlite-20120209.mk` * `sqlite-3080100.mk` * 'spatialite-4.1.1.mk ' * `iconv-1.13.1.mk` * For Spatialite with VirtualShapes,VirtualXL support * `iconv` is needed * `proj4-4.8.0.mk` * `geos-3.4.2.mk`
* 'Android_4.2.1.mk - for Spatialite 4.2.1, without Rasterlite2' * `jsqlite-20120209.mk` * `sqlite-3080403.mk` * 'spatialite-4.2.0.mk' * `iconv-1.13.1.mk` * For Spatialite with VirtualShapes,VirtualXL support * `iconv` is needed * `proj4-4.8.0.mk` * `geos-3.4.2.mk` * `libxml2-2.9.1.mk` * `iconv-1.13.1.mk`
* 'Android_4.2.0.mk - for Spatialite 4.2.0, without Rasterlite2' * `jsqlite-20120209.mk` * `sqlite-3080403.mk` * 'spatialite-4.2.0.mk' * `iconv-1.13.1.mk` * For Spatialite with VirtualShapes,VirtualXL support * `iconv` is needed * `proj4-4.8.0.mk` * `geos-3.4.2.mk` * `libxml2-2.9.1.mk` * `iconv-1.13.1.mk`
  • this version will be used in the next release of geopaparazzi [2014-07-26]:
DaoSpatialite.JavaSqliteDescription
[
 sqlite[3.8.5],
 spatialite[4.2.0],
 proj4[Rel. 4.8.0, 6 March 2012],
 geos[3.4.2-CAPI-1.8.2 r3921],
 spatialite_properties
 [
  HasIconv[1],HasMathSql[1],HasGeoCallbacks[0],HasProj[1],
  HasGeos[1],HasGeosAdvanced[1],HasGeosTrunk[0],HasLwGeom[0],HasLibXML2[1],
  HasEpsg[1],HasFreeXL[0],HasGeoPackage[1],
  target_cpu[armeabi-v7a]
 ],
 rasterlite2_properties[none]
]
recovery_mode[STRICT]
  • in the archive directory there is a archive with the compile library’s:
    • [[201400726.libjsqlite.4.2.0.tar.bz2 - 9.6 MB |https://raw.github.com/geopaparazzi/libjsqlite-spatialite-android/master/archive/20140726.libjsqlite.4.2.0.tar.bz2 ]]

This archive can be directly downloaded with:

wget https://raw.github.com/geopaparazzi/libjsqlite-spatialite-android/master/archive/20140726.libjsqlite.4.2.0.tar.bz2

* 'Android_R4.2.0.mk - for Spatialite 4.2.0, with Rasterlite2' * status **2014-07-26**: * `armeabi` compiled and linked (with `-mfpu=neon`) * `armeabi-v7a`: compiled and linked (with `-mfpu=neon`) * `X86` compiled and linked (**without** `-mfpu=neon`) * `pixman-0.32.4.mk` and `libwebp-0.4.0.mk` * `NEON / SIMD` * specific code must be **excluded**
  • in the archive directory there is a archive with the compile library’s:
    • [[201400726.libjsqlite.R4.2.0.tar.bz2 - 14.5 MB |https://raw.github.com/geopaparazzi/libjsqlite-spatialite-android/master/archive/20140726.libjsqlite.R4.2.0.tar.bz2 ]]
wget https://raw.github.com/geopaparazzi/libjsqlite-spatialite-android/master/archive/20140726.libjsqlite.R4.2.0.tar.bz2

  • any *.mk files not found above in the project
    • should be considered, for the moment at least, unusable

2014-07-26: Mark Johnson, Berlin Germany


Clone this wiki locally