Comment exécuter Spatialite sur Android?

11

Est-ce que quelqu'un sait s'il est possible de faire tourner Spatialite sur Android? Spécifiquement pour Android 2.1 ou 2.2.

J'ai parcouru le Web et bien que cela semble techniquement possible, je n'ai pas pu trouver de procédures, de tutoriels, d'exemples, etc. pour y parvenir. Je suis nouveau dans le développement Android, donc plus les instructions sont simples, mieux c'est.

Tous les conseils, commentaires, avertissements sont les bienvenus.

user890
la source

Réponses:

7

Je ne pourrais pas dire pour Android mais j'ai pu le faire pour iOS.

La chose que vous devez considérer est que spatialite nécessite des bibliothèques natives GEOS et PROJ4 pour fonctionner correctement (pour les index spatiaux), donc celles-ci doivent également être compilées.

La version de sqlite requise par spatialite peut également être différente de celle qui est distribuée dans la plateforme (c'est le cas dans iOS: la version sqlite est trop ancienne pour être utilisée directement par spatialite), c'est pourquoi la bonne façon de le faire consiste à obtenir la version "fusion" de spatialite (qui encapsule également sqlite) et à compiler à partir de cela.

http://www.gaia-gis.it/spatialite/sources.html

Il y a une courte notice sur le site spatialite avec quelques informations sur la façon de construire spatialite: http://www.gaia-gis.it/spatialite/how_to_build_libspatialite.html

Pour GEOS et PROJ4, vous devriez pouvoir les compiler facilement à partir des scripts fournis avec le projet. Cependant, de mon côté, même si la compilation s'est bien déroulée avec les scripts, j'ai eu des effets secondaires au moment de l'exécution avec un double type (certains étaient NaN), donc je les ai compilés directement dans XCode (le dev de iOS) et le comportement d'exécution était Alors ok.

yonel
la source
1
Cool. Cette application est-elle dans l'App Store?
Ragi Yaser Burhum
Avez-vous également ajouté GEOS?
Ragi Yaser Burhum
Vous devriez écrire un livre yonel. Je ne peux pas obtenir assez de cet espoir que vous promulguez, tout le monde semble croire que c'est presque impossible
boulder_ruby
5

On dirait que quelqu'un a déjà commencé une partie du travail acharné:

https://github.com/mrenouf/android-spatialite

Je vais jeter un coup d'œil au projet et je fournirai des commentaires au cours des prochains mois.

Damon Oehlman
la source
2

Parlant en tant qu'utilisateur Android un peu averti mais pas expert - vous devrez compiler spatialite pour Android. N'oubliez pas que votre téléphone Android est une machine Linux sans tête, ce serait donc possible, mais vous devrez compiler. Je recommande de regarder le NDK (le kit de développement natif pour Android (http://developer.android.com/sdk/ndk/index.html)

J'espère que ça t'as aidé...

TheSteve0
la source