From Navit's Wiki
Revision as of 19:40, 13 October 2009 by Cp15 (talk | contribs) (Android Port (no root required))
Jump to: navigation, search

Android Port (no root required)

  • Get the latest apk from and install it onto your device.
  • Get a map from and put it on the root of your SD card (not into a subdirectory) as navitmap.bin.
  • If you like to configure the initial view of the map (it automatically centers around your position once there is a fix): extract navit.xml via unzip from the .apk file and copy it to the same directory as navitmap.bin, edit it and change the <navit center=... attribute to your home coordinates. See navit.xml below for possible problems.

If Navit doesn't work please include the output of "adb logcat" (via the sdk) or "logcat" (via terminal on the device) in your bug report.

Compiling it yourself

You need the Android NDK and SDK.

  • Extend PATH with $NDK/build/prebuilt/linux-x86/arm-eabi-4.2.1/bin:

$SDK/tools where $NDK and $SDK refers to the development kits.

  • Check out the newest svn version with svn co
  • Run ./ from the navit dir.
  • Run configure as ./configure PKG_CONFIG=arm-eabi-pkgconfig RANLIB=arm-eabi-ranlib AR=arm-eabi-ar CC="arm-eabi-gcc -L$NDK/build/platforms/android-1.5/arch-arm/usr/lib -L. -I$NDK/build/platforms/android-1.5/arch-arm/usr/include" CXX=arm-eabi-g++ --host=arm-eabi-linux_android --enable-avoid-float --enable-avoid-unaligned --enable-cache-size=20971520 --enable-svg2png-scaling=8,16,32,48,64,96 --enable-svg2png-scaling-nav=59 --enable-svg2png-scaling-flag=32 --with-xslts=android (once again replace $NDK with the appropriate path)
  • Run make
  • cd navit
  • Run make apk

The result is in android/bin as Navit-debug.apk


navit.xml is extracted from the apk into /data/data/org.navitproject.navit/share/navit.xml if it doesn't exist or is different from the one of the apk. You can copy it to /sdcard/navit.xml which is then used instead of the one from the data directory. Use at your own risk, it might be incompatible with future releases.

Debian on Android Port

Android is a smartphone layer built on the top of the linux operating system. Current hacks allows breaking into linux itself and installing full linux (e.g. debian) distro beside of Android. Yes, you have a fully working phone as previously, a linux distro is an additional feature you can run in the same time.

Navit porting

Navit package built on 03/03/09 is available here

You have to configure gpsd daemon before you start navit:

dpkg-reconfigure gpsd

and provide device /dev/smd27 and enable default start of gpsd daemon.

Do not bother to contact me if you have any useful ideas in connection with navit on Android. --SergiuszPawlowicz 17:20, 16 April 2009 (CEST)

Questions from users

Q: Isn't more easy to port navit on android and not on debian?. --Hire I would agree, in an ideal world, but this is a good start. I'd be more than happy to remove AndNav2 and install an open-source app. Well done SergiuszPawlowicz. --Chris debian 19:56, 27 April 2009 (CEST)

A: If it is easier for you, please provide me a link to your version :-) --SergiuszPawlowicz 17:20, 16 April 2009 (CEST)

A: Is now possible, see above --Cp15 09:50, 20 August 2009 (UTC)