top logo
 
  • Page 1 of 1 ( 14 posts )
  • android

Tags

Last update:
Sun May 19 15:40:15 2013

A Django site.

Necessitas Beta1 “breaks” qgis on android – don’t update

Hi all, it has been a while since my last post, and foremost QGIS on android release. I’m very sorry. I’ve been working hard on another project (inasafe.org) that toke up all my time since we just launched version 1.0.

So now to the real problem, necessitas (the android Qt port) has had a sweet update that adds a lot of nice things (like native look and feel) to Qt apps. The only problem is that it has a grave bug that makes the new shiny thing bad for QGIS. Basically there is no second level menu bars anymore. Yes exactly, every item like view>panels>gps can’t be selected. Basically all plugins, all panels and more can’t be selected with the new necessitas, So If QGIS is the only Qt app you have on your device, DON’T let ministro update it’s libraries.
I’ve of course already discussed with the maintainer of necessitas and he promised me to have this fixed in the next release. Meanwhile, I’m looking into making a temporary package that includes the old Qt libraries.
I’m sorry for the issue and really hope to solve this quickly but as everybody I need do do paid work as well to support my other developments, so if you can, give a nice poke to that donate button ;)

ciao


dealing with MTP (media transfer protocol) on Android

MTP is probably the most annoying thing I encounter lately on tablets, why don’t I get a simple USB mass storage when I connect my tablet? here some hints on how to get (maybe) rid of mtp in ICS (android 4.0)

Just change the connection mode to Mass Storage or PTP instead of MTP, under Settings > Storage in the dropdown menu (or using the context menu button).


QGIS @ 4200m

One of the nice things of being freelance it that you can work on Sundays when the weather is horrible and get out on Tuesdays when it rocks ;) .
So Tuesday I decided to go test QGIS at high altitude and went to the Breithorn and the Pollux with my best friend for a nice winter end tour.

At the summit of Breithorn I took out my Galaxy, started QGIS and opened my basic project, turned on GPS and voilà… it all worked… even in high winds and -15°C ;)

Definitely time to get involved in using it and supporting its developement.

ciao Marco

Breithorn Screenshot_2012-05-08-11-31-24 Pollux

 


QGIS on Android Phone

At FOSSGIS I was asked to try to install qgis on a very small android phone, I think it was a 3.2″ screen. the install went smoothly after making some space but then the problems came because of the small screen.
Eventually I thought about setting a smaller font size to make the UI scale more, the problem was that it was impossible to get to the size setting because the UI was to big.
As a workaround I created a QGIS.conf file with this content
[General]
IconSize=32
fontPointSize=4
and pushed it to the device using the android debug bridge like this:
adb push myQGISConfigFile.conf /data/data/org.qgis.qgis/files/Settings/QuantumGIS/QGIS.conf
On the next start the whole gui was nice and small and fitted the screen.

Here some screenshots from my Samsung galaxy 9000 with 4″ screen and a video demonstrating digitising (with pen and fingers), GPS, compass and zooming on the phone.

This video shows QGIS on a Samsung I9000 Galaxy S Android smartphone with 4.0″ screen. the point size in settings->option->general is set to 4


QGIS for android alpha 7

7, my luck number… So here you are, the latest and greatest QGIS for Android.
This release includes the super new pinch zoom tool, should have no blocking dialogs anymore (i fixed the attribute table) and the help->about shows now from which commit the package has been created.
The packages containing armeabi and armeabi-v7a code are still less stable that the armeabi only packages (the ones with the -armeabi suffix) which are still the preferred. For the moment the release packages are built with Debug symbols as well.

I hope you will enjoy this release, and remember that if you or anybody you know can help sponsor the development I would greatly appreciate it.
Btw, noticed the nice new yellow PayPal donate button ;) ?

Ciao Marco

QGIS for android gets Pinch zooming

Well, it is a super winter and there is a lot of snow here in Switzerland and all this makes me super happy which means that my productivity increases… here you are, the last and greatest improvement for QGIS on android: a fancy zooming map tool like you know from other applications like google maps.
The tool allows for:

  • panning
  • pinch zooming
  • double tap zoom in with Center
  • twofinger tap zoom out

Furthermore I added a close button to the attribute table so that there are no blocking dialog left. The attribute table doesn’t look perfect yet, but works well (a workaround to make it look better is to force it into a dock-widget by checking “Open attribute table in dock window” under Settings->Options->General
I’ll release soon a new version and look forward to your comments and support.

and here a video:

QGIS supports now an all new touch maptool that allows panning, pinch zooming, double tap zoomWithCenter and twofinger tap zoomOut

ciao Marco


QGIS for android alpha 6

Hi all, release time again… happens that just couple of hours after i pushed alpha5, the necessitas framework received a new update [1] that addresses some important issues. Meanwhile I managed to compile GEOS and GDAL with armeabi-v7a optimizations

[1]https://groups.google.com/d/msg/android-qt/NQCRsz92ois/C511seqSFwEJ

QGIS on android ALPHA 5

Hi all couple of days ago I pushed a new alpha version of qgis for android on android.qgis.org

This release includes all the goodies that I got to implement lately including: – right click support through longClick – shape file support – gps – compass – android 4 support – partial hardware optimization for armV7a (most newish devices have it) – no debug symbols

I m very happy with this release because it adresses and fixes all high priority bugs. Adding support for a armv7a optimized whit no debug symbols build increased greatly the speed of the app. The package you need to install is the same and includes both armv5 and armv7a code. Android will take care of using the correct version. Gdal and geos are not available yet in v7a code so the v5 versions will be loaded. I couldn’t test much the v7 code so I hope you can help me testing it. As well, on www.opengis.ch I published many videos and screenshots of qgis. As usual, please remember if you can (or if you know anybody that could) that sponsoring would help a lot implementing some more great features.

Ciao


QGIS on Android gets right click support

So, finally I managed to add the right click support to QGIS on android, I made a video demonstrating the current super status of QGIS on android. here you go: This addition was the last show stopper bug.

QGIS on Android videos

So, finally preparing for the next conferences, I made some videos demonstrating the current super status of QGIS on android. here you go: In this video I use all currently available features of QGIS on android. Part of the video


QGIS on android screenshots

In this post i’ll keep on adding screenshots of QGIS on android


QGIS gets Compass support

After implementing GPS support for QGIS on Android I’ve implemented a plugin that reads the internal compass readings and shows the value in a small dock widget.
All theese new features are available in the master-alpha4 version and the nightly.
Hope you enjoy


QGIS on Android gets GPS support

Lately I’ve been working on adding native GPS support to QGIS on Android, here is a short video showing how it works. A big thanks goes to the municipality of Schoten in Belgium which sponsored the developement. This functionality is included in the latest nightly builds as of yesterday.

GPS tracking on QGIS for android from Marco Bernasocchi on Vimeo.


Creating non-versioned shared libraries for android

While porting QGIS to android using necessitas I encountered the problem of versioned libs. Android does not support versioned libs and it is not going to. In the first vesions I used rpl -R -e libqgis_core.so.1.9.90 "libqgis_core.so\x00\x00\x00\x00\x00\x00\x00" $APK_LIBS_DIRand similar hacks to remove the version from the libs. But it was rather hacky. Then I found this post by Tom Russo where he mentioned how he changed his build process to force non versioned libs. I wrote him with some questions and finally, thanks to his hints, I managed to create a fairly general patch for libtool to make it generate android compatible configure scripts. I sent the patch to libtool and we’ll see what they think.diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a9e20cf..a5cc8eb 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2642,8 +2642,17 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ case $host_os in
+ # This must be Linux Android ELF which has no support for versioned libs.
+ linux-android*)
+ library_names_spec='$libname${shared_ext}'
+ soname_spec='${libname}${shared_ext}'
+ ;;
+ *)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no

Now, the problem is that this patch fixes libtool.m4 which is the file that is used when a project manager creates a configure script. So it will take time until libtool includes the patch, your project manager updates the configure script and so on. But, no problem, mean while you can just look for something similar in your configure file (I was very lucky using “this must be linux ELF” as search criteria) and replace it accordingly and reconfigure passing –host=arm-linux-androideabi (as you probably already do if you are reading this). I managed to crosscompile expat, gdal, geos, gsl, proj, libiconv and libcharset without version.
QGIS uses libpq (postgres client) to connect to some services, but there is no hint in the configure script about soname_spec and library_names_spec, so I searched for SO_VERSION and found it set in Makefile.shlib and adapted it accordingly. Bottom line is that you need to search creatively for anything related to soname, SO_VERSION and similar.

QGIS uses as well QWT, which is QMAKE based, in this case to generate non versioned libs it’s enough to add CONFIG += plugin to the .pro or .pri file.

Finally, in CMAKE you need IF (NOT ANDROID)
SET_TARGET_PROPERTIES(qgis_core PROPERTIES
VERSION ${COMPLETE_VERSION}
SOVERSION ${COMPLETE_VERSION}
)
ENDIF (NOT ANDROID)
in your CMakeList.txt and call cmake with -DANDROID

Hope this helps and that more and more people port cool libs to android.
Ciao Marco

  • Page 1 of 1 ( 14 posts )
  • android

bottom

Powered by Django!