{"id":260,"date":"2011-07-28T19:23:41","date_gmt":"2011-07-28T17:23:41","guid":{"rendered":"https:\/\/www.opengis.ch\/2011\/07\/28\/qgis-cross-compiles-using-android-ndk\/"},"modified":"2020-04-29T18:57:34","modified_gmt":"2020-04-29T16:57:34","slug":"qgis-cross-compiles-using-android-ndk","status":"publish","type":"post","link":"https:\/\/www.opengis.ch\/it\/2011\/07\/28\/qgis-cross-compiles-using-android-ndk\/","title":{"rendered":"QGIS cross compiles using android NDK"},"content":{"rendered":"<p>Finally I managed to cross compile qgis using a NDK r5c standalone toolchain. Currently the scripts to produce the binaries require the necessitas qt source to be present on the host since QtUiTools need to be compiled as well. This should be only until QtUitools is included in necessitas (maybe in the next release).<br \/>\nFor the moment only the basic library (gdal, geos, qwt, expat, gsl, sqlite and proj) are ported but they allow already a lot. The next lib (on which i already spent some time) is spatialite with its (problematic) dependency iconv.<br \/>\nMore important than spatialite is to actually bundle the binaries in an apk and to be able\u00a0 to run it on android.<br \/>\nThis is all new terrain for me but i m confident that if i mastered cmake i can master necessitas and the likes&#8230; \ud83d\ude09 I started looking at it today and plan working on it tomorrow.<br \/>\nOnce I get qgis on android or maybe when i ll be fed of fighting necessitas i ll implement the vertical scrollbars in the dialogs that still need it. And then Gps is still on the plan.<br \/>\nSo thats it for the good news of this week \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Finally I managed to cross compile qgis using a NDK r5c standalone toolchain. Currently the scripts to produce the binaries require the necessitas qt source to be present on the host since QtUiTools need to be compiled as well. This should be only until QtUitools is included in necessitas (maybe [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30,33,15],"tags":[43,46,48,125],"class_list":["post-260","post","type-post","status-publish","format-standard","hentry","category-android-qgis","category-gsoc2011","category-qgis","tag-android","tag-android-ndk","tag-android-qt","tag-qgis-org"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":238,"url":"https:\/\/www.opengis.ch\/it\/2011\/07\/05\/gsoc-2011-weekly-report-5\/","url_meta":{"origin":260,"position":0},"title":"GSoC 2011 weekly report #5","author":"Marco Bernasocchi","date":"5 Luglio 2011","format":false,"excerpt":"This week I re-factored the install script to make it cleverer, compiled expat library, fixed the last problem that was blocking GDAL from installing and compiled QWT library using necessitas. As well I started and started looking on compiling qgis and how to add external libs to a necessitas package.\u2026","rel":"","context":"In &quot;Android QGIS&quot;","block_context":{"text":"Android QGIS","link":"https:\/\/www.opengis.ch\/it\/category\/gis\/qfield\/android-qgis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":221,"url":"https:\/\/www.opengis.ch\/it\/2011\/06\/07\/gsoc-2011-weekly-report-1\/","url_meta":{"origin":260,"position":1},"title":"GSoC 2011 weekly report #1","author":"Marco Bernasocchi","date":"7 Giugno 2011","format":false,"excerpt":"all, this week i leaped more int the cross compile realm. Geos almost done and started with proj4. I updated my necessitas infrastructure to necessitas v 0.2 and we decide to target android 3.0 which is optimized for tablets. I havent updated the wiki yet since i've been (and still\u2026","rel":"","context":"In &quot;Android QGIS&quot;","block_context":{"text":"Android QGIS","link":"https:\/\/www.opengis.ch\/it\/category\/gis\/qfield\/android-qgis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":258,"url":"https:\/\/www.opengis.ch\/it\/2011\/07\/24\/gsoc-2011-weekly-report-8\/","url_meta":{"origin":260,"position":2},"title":"GSoC 2011 weekly report #8","author":"Marco Bernasocchi","date":"24 Luglio 2011","format":false,"excerpt":"This week I fought against libiconv and spatialite that did not want to properly crosscompile. Due to time pressure I decided to temporarly work on it and moved on compiling qgis. I get to the linking part of the process where I get many errors. I m now looking into\u2026","rel":"","context":"In &quot;Android QGIS&quot;","block_context":{"text":"Android QGIS","link":"https:\/\/www.opengis.ch\/it\/category\/gis\/qfield\/android-qgis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":241,"url":"https:\/\/www.opengis.ch\/it\/2011\/07\/10\/gsoc-2011-weekly-report-6\/","url_meta":{"origin":260,"position":3},"title":"GSoC 2011 weekly report #6","author":"Marco Bernasocchi","date":"10 Luglio 2011","format":false,"excerpt":"This week I started cross compiling qgis and encountered some problems that I could't solve yet but I'm working on it. UPDATE: I just managed to have QGIS to properly configure, by using -DQT_QTUITOOLS_INCLUDE_DIR=\/usr\/include\/qt4\/QtUiTools since it appears that necessitas has no QtUiTools yet. I'll look into it. UPPDATE2:or maybe not...\u2026","rel":"","context":"In &quot;Android QGIS&quot;","block_context":{"text":"Android QGIS","link":"https:\/\/www.opengis.ch\/it\/category\/gis\/qfield\/android-qgis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":307,"url":"https:\/\/www.opengis.ch\/it\/2011\/08\/21\/qgis-android-works-2\/","url_meta":{"origin":260,"position":4},"title":"QGIS Android works!","author":"Marco Bernasocchi","date":"21 Agosto 2011","format":false,"excerpt":"Just a quick screenshot to show that qgis on android is now a working reality. Tomorrow I'll make a video and so on. The major missing thing now is reading shp files ad maybe spatialite... maybe tomorrow. Now it's sunday ;) Ciao test it now:","rel":"","context":"In &quot;Android QGIS&quot;","block_context":{"text":"Android QGIS","link":"https:\/\/www.opengis.ch\/it\/category\/gis\/qfield\/android-qgis\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2011\/08\/qgis-android-150x150.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":268,"url":"https:\/\/www.opengis.ch\/it\/2011\/08\/14\/gsoc-2011-weekly-report-11\/","url_meta":{"origin":260,"position":5},"title":"GSoC 2011 weekly report #11","author":"Marco Bernasocchi","date":"14 Agosto 2011","format":false,"excerpt":"This week Imanaged to get libqgisapp.so to build automatically if cmake is passed -DANDROID. as well I managed to implement all the JNI stuff that comes from necessitas. Apk file gets installed and the app tries to start but it silently fails after startQtApp is called succesfully. Logcat shows no\u2026","rel":"","context":"In &quot;Android QGIS&quot;","block_context":{"text":"Android QGIS","link":"https:\/\/www.opengis.ch\/it\/category\/gis\/qfield\/android-qgis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/pbdBtI-4c","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/posts\/260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/comments?post=260"}],"version-history":[{"count":1,"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/posts\/260\/revisions"}],"predecessor-version":[{"id":11213,"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/posts\/260\/revisions\/11213"}],"wp:attachment":[{"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/media?parent=260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/categories?post=260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.opengis.ch\/it\/wp-json\/wp\/v2\/tags?post=260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}