Difference between revisions of "Android"

From Navit's Wiki
Jump to: navigation, search
(Compiling it yourself)
(Compatible Android devices)
 
(556 intermediate revisions by 67 users not shown)
Line 1: Line 1:
=== Android Port (no root required) ===
+
{{note| [http://bit.ly/15fUtbw Developers wanted!] to maintain this port, the build and implementing new features}}
 +
 
 +
[[Image:Andoidscreenshot_001.png|150px|thumb|First run of Navit]]
 +
Navit is available on Android! Using the [[Internal GUI]], Navit enables complete offline routing anywhere in the world using map data from [[OpenStreetMap]]. Note that this is not an Android app in the traditional sense - it is a direct port of Navit (with a couple of extra features for Android), so isn't as integrated with Android as you may expect from other apps - bear this in mind when using it for the first time!
 +
 
 +
==Installation==
 +
There are several ways of installing Navit to your Android devices:
 +
* From [https://play.google.com/store/apps/details?id=org.navitproject.navit Google's Play store], you can also subscribe to the beta program [https://play.google.com/apps/testing/org.navitproject.navit here]
 +
* Install from the [https://f-droid.org/ F-Droid] Repository : [https://f-droid.org/repository/browse/?fdid=org.navitproject.navit Navit on F-Droid]''
 +
* Manually install from apk's built nightly from the latest source code : [http://download.navit-project.org/navit/android/svn/ Nightly Builds]''
 +
* Building Navit yourself from source : [http://wiki.navit-project.org/index.php/Android_development Build from Source]''
 +
 
 +
Manually installing from an apk means that you have the very latest features built into Navit, but requires you to install and update it yourself
 +
 
 +
The following table links through to the nightly apk's. Choose the one which best matches your device. The nightly builds are compatible with devices running Froyo (2.2.X) or later.
 +
 
 +
===Important Note===
 +
 
 +
If your phone has internal and external storage, make sure to add /storage/sdcard# to your path directories. Otherwise navit won't be able to find them.
 +
 
 +
 
  
Since Navit is a native application, different versions are available for different processor types. Choose the one which best matches your device.
 
  
 
{|style="border-style:solid;border-width:1px;border-color:#aaa;background: #f9f9f9;border-collapse: collapse;font-size: 95%;" border="1" cellpadding="4"
 
{|style="border-style:solid;border-width:1px;border-color:#aaa;background: #f9f9f9;border-collapse: collapse;font-size: 95%;" border="1" cellpadding="4"
 
|-
 
|-
! Download dir
+
!  
 
! Compatible devices
 
! Compatible devices
 
|-
 
|-
| [http://download.navit-project.org/navit/android/svn/ android] || ARMv5 processors, should be compatible with most Android devices, including HTC Desire Z, Motorola Droid/Milestone, Samsung I7500 Galaxy, Samsung Galaxy Spica i5700, Samsung Galaxy S, SE Xperia X10,  (?)
+
| [http://download.navit-project.org/navit/android/svn/ ARM v5] || ARMv5TE processors, covers most Android devices including: HTC Desire Z, Motorola Defy/Droid/Milestone, Samsung I7500 Galaxy, Samsung Galaxy S2, Samsung Galaxy Spica i5700, Samsung Galaxy S, SE Xperia X10, Xperia X8, LG Optimus Speed (P990)
 +
|-
 +
| [http://download.navit-project.org/navit/android_armv4t/svn/ ARM v4] || ARMv4 processors. Devices which require this version include Neo Freerunner (running Android).
 +
|}
 +
 
 +
 
 +
=== Compatible Android devices ===
 +
The following tables list Android devices on which Navit has been tested. Please consider editing the table for your own device.
 +
{|style="border-style:solid;border-width:1px;border-color:#aaa;background: #f9f9f9;border-collapse: collapse;font-size: 95%;" border="1" cellpadding="4" class="wikitable sortable"
 +
|-
 +
! Device
 +
! OS
 +
! Status
 +
! Tested on SVN revision
 +
|-
 +
| Allview P4 || || class="cell_yes"| running fine || ICS (market)
 +
|-
 +
| Archos 5 IT ||  || class="cell_yes"| running fine || 4383, 4395, 4411
 +
|-
 +
| Asus Memo pad ME173X ||Android 4.2.2  || class="cell_yes"| running fine || 5851
 +
|-
 +
| Acer ICONIA TAB A500||  || class="cell_yes"| running fine; after suspend GPS must be disabled and enabled again || (market)
 +
|-
 +
| Geeksphone One|| RCMod 4.0.0 (Gingerbread) ||class="cell_maybe"| Exits on startup (following crash of PicoTTS) unless speech output is disabled, runs fine otherwise || 4319
 +
|-
 +
| Geeksphone Zero||RCMod 7.0.2 (Gingerbread) ||class="cell_yes"| running fine || (market)
 +
|-
 +
| Google/LG Nexus 4||Android 4.2.2 and Android 4.3 || class="cell_maybe"| running fine, but not possible to change keyboard-layout to the stock-android software-keyboard|| 4785 (market), 5357-5365
 +
|-
 +
| Google/LG Nexus 5||Android 4.4 || class="cell_maybe"| running fine, but not possible to change keyboard-layout to the stock-android software-keyboard; fonts to small || 4785 (market), 5649, 5711
 +
|-
 +
| Google/Samsung Galaxy Nexus I9250||Android 4.2.2 and Android 4.3 || class="cell_maybe"| running fine, but not possible to change keyboard-layout to the stock-android software-keyboard|| 4785 (market), 4909-5365
 +
|-
 +
| Google/Samsung Nexus S|| || class="cell_yes"| running fine after brief test || (market)
 +
|-
 +
| Google/Samsung Nexus S || RCMod 7.2.0 || class="cell_yes"| running fine || 5187
 +
|-
 +
| Huawei Ideos (U8150-B) || Android 2.2 || class="cell_yes"| Sometimes does not exit properly (restarts instead); intermittent issue where touchpal keyboard text is invisible while typing, it only shows after keyboard is dismissed; otherwise runs fine || 6382
 +
|-
 +
| Huawei Ideos X3 (U8510) || || class="cell_yes"| speech synthesis often incomplete  || 4696
 +
|-
 +
| Huawei M860||  || class="cell_yes"| running fine  || 4281
 +
|-
 +
| HTC Desire || CyanogenMod 7.2.0 ||class="cell_maybe"| DISCONTINUED - last version testet || 5877
 +
|-
 +
| HTC Desire || CyanogenMod 7.2.0 ||class="cell_maybe"| osd gps-status doesn't work - otherwise running fine, unless stated below<br>integration of "clever-tanken" (Germany only) testet and working since version 5642 || 5395-5877
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_yes"| DISCONTINUED - last version testet || 5395
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_yes"| osd gps-status doesn't work - otherwise running fine, unless stated below || 4200-5395
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_no"| android installer refuses to install the apk || 5389-5392
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_maybe"| typing of adresses terminates after 1st letter || 5296-5329
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_maybe"| display problems while browsing bookmarks || 5279
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_no"| application freezes as soon as route is calculated || 5219-5276
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_no"| crashes during application start || 5208
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_no"| display remains black || 5175-5179
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_no"| application crashes as soon as gps link is established || 5149-5174
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_maybe"| modifications for osd navigation_next_turn in config file necessary || 5078
 +
|-
 +
| HTC Desire || Android 2.2.2 ||class="cell_no"| starts, icon appears in the upper left corner, application stops || 4879-4992
 +
|-
 +
| HTC Desire HD (Ace)|| || class="cell_yes"| running fine || (market)
 +
|-
 +
| HTC Desire S|| || class="cell_yes"| running fine || 4281 (market)
 +
|-
 +
| HTC Desire Z|| || class="cell_yes"| running fine || 4281 (market), 4785 (market), 4808
 +
|-
 +
| HTC Explorer A310e || Android 2.3.5 || class="cell_yes"| running fine - but GPS status & texte: label="${vehicle.position_sats_used}/${vehicle.position_qual}" do not work - Route\Height Profile does not work too (black screen) || 5126
 +
|-
 +
| HTC Hero ||Android 2.2, cronos|| class="cell_maybe"| running fine (saving bookmaks made it unusable) || 4118
 +
|-
 +
| HTC Incredible S|| || class="cell_yes"| running fine || 4281 (market)
 
|-
 
|-
| [http://download.navit-project.org/navit/android_armv4t/svn/ android_armv4t] || ARMv4 processors, only found in unofficial ports. This version should also work on other Android phones but the ARMv5 version is recommended. Devices which require this version include Neo Freerunner (running Android).
+
| HTC Magic ||Android 2.3.4 || class="cell_yes"| running fine || 5224
 
|-
 
|-
| [http://download.navit-project.org/navit/android_armv5te/svn/ android_armv5te] || ARMv5TE processors: HTC? models? (Or same as ARMv5 build?) (HTC Desire Z works also with this build)
+
| HTC Sensation ||Android 4.0.3|| class="cell_yes"| running fine || 4785 (market)
 +
|-
 +
| HTC Wildfire ||Android 2.2|| class="cell_yes"| running fine (theme changes are not saved) || 4997
 +
|-
 +
| Intenso Tab 814 || CyanogenMod 10.2 ||class="cell_yes"| running fine, GPS with USB stick and usb2gps || 5738
 +
|-
 +
| Lenovo IdeaTab A10-70 (A7600) || Android 4.4.2 ||class="cell_yes"| Latest version tested || 6382
 +
|-
 +
| Lenovo IdeaTab A10-70 (A7600) || Android 4.4.2 ||class="cell_yes"| working perfectly || 6255-6382
 +
|-
 +
| Lenovo IdeaTab A10-70 (A7600) || Android 4.4.2 ||class="cell_maybe"| TTS mixes English and System language. Uses Englisch grammar || 6093-6095
 +
|-
 +
| Lenovo IdeaTab A10-70 (A7600) || Android 4.4.2 ||class="cell_yes"| working perfectly || 6084-6089
 +
|-
 +
| Lenovo IdeaTab A10-70 (A7600) || Android 4.4.2 ||class="cell_maybe"| TTS mixes English and System language. "Turn links in 200 Metern" || 6054-6080
 +
|-
 +
| Lenovo IdeaTab A10-70 (A7600) || Android 4.4.2 ||class="cell_yes"| working perfectly || 5976-6050
 +
|-
 +
| LG G3 (D855)|| Android 5.1 (SlimLP) || class="cell_yes"| running fine || 6135
 +
|-
 +
| LG Optimus GT540|| || class="cell_yes"| running fine || 4118, 4281 (Google market)
 +
|-
 +
| LG Optimus P500 One|| || class="cell_yes" | running fine || current market build, 4383, 4446
 +
|-
 +
| Motorola Defy|| || class="cell_yes"| running fine || 4281 (market), 4352, 4383
 +
|-
 +
| Motorola Milestone 2|| || class="cell_yes"| running fine || (market)
 +
|-
 +
| Motorola Xoom ||Android 3.2|| class="cell_yes"| running fine || (market) → 0.5.0
 +
|-
 +
| Motorola Moto G 8GB||Android 4.4.2|| class="cell_yes"| running fine || F-DROID May2014
 +
|-
 +
| Neo Freerunner ||AoF Cupcake 0.2.0 || class="cell_no"| cannot install, <code>adb install</code> returns <nowiki>[INSTALL_FAILED_OLDER_SDK]</nowiki>. Is Cupcake no longer supported? || 4376
 +
|-
 +
| Neo Freerunner ||AoF-SD Froyo || class="cell_yes"| runs fine; GPS must be started manually || 4548
 +
|-
 +
| Neo Freerunner ||AoF-SD Froyo || class="cell_no"| starts, icon in left upper corner, application stops || 4833
 +
|-
 +
| OnePlus One || CyanogenMod 12.1 ||class="cell_yes"| Latest version tested || 6382
 +
|-
 +
| OnePlus One || CyanogenMod 12.1 ||class="cell_yes"| working perfectly || 6382
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_yes"| DISCONTINUED - Latest version tested || 6382
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_yes"| working perfectly || 6255-6382
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_maybe"| TTS mixes English and System language. Uses Englisch grammar || 6093-6095
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_yes"| working perfectly || 6084-6089
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_maybe"| TTS mixes English and System language. "Turn links in 200 Metern" || 6054-6080
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_maybe"| local configuration file path $SDCARD/navit.xml is no longer supported<br />new location: $SDCARD/navit/navit.xml as documented || 6050
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_yes"| working perfectly || 5975-6045
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_yes"| osd gps-status doesn't work - otherwise running fine  || 5890-5952
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_maybe"| upgrade from version 5878 failed - reinstall necessary || 5889
 +
|-
 +
| OnePlus One || CyanogenMod 11 ||class="cell_yes"| osd gps-status doesn't work - otherwise running fine || 5830-5878
 +
|-
 +
| Samsung GT-I5500 ||Android 2.1 update1 || class="cell_yes"| running fine || 0.5.0-3828
 +
|-
 +
| Samsung Galaxy Gio GT-S5660 ||Android 2.2.1 Froyo || class="cell_yes"| running fine || svn 4663
 +
|-
 +
| Samsung Galaxy Gio GT-S5660 ||Android 2.2.3 || class="cell_yes"| running fine || svn 4785
 +
|-
 +
| Samsung Galaxy Gio GT-S5660 ||Android 2.3.6 || class="cell_yes"| running fine || svn 4997
 +
|-
 +
| Samsung Galaxy Ace GT-S5830L ||Android 2.3.4 || class="cell_no"| black screen then crash || svn 5214
 +
|-
 +
| Samsung Galaxy S I9000|| || class="cell_yes"| running fine || svn 4183, 4229, 4510 - market 0.5.0-4281
 +
|-
 +
| Samsung Galaxy S2 I9100|| || class="cell_yes"| running fine || 4940
 +
|-
 +
| Samsung Galaxy S3 mini I8190 || Android 4.1.2 ||class="cell_yes"| working perfectly || 6035
 +
|-
 +
| Samsung Galaxy S3 mini I8190 || Android 4.1.2 ||class="cell_maybe"| osd gps-status doesn't work - otherwise running fine, unless stated otherwise || 5400, 5419, 5422, 5559, 5640, 5742, 5771, 5772, 5878
 +
|-
 +
| Samsung Galaxy SIII GT-I9300|| AOSP 4.2.2 || class="cell_yes"| running fine || 5000+,
 +
|-
 +
| Samsung Galaxy S4 || Android 4.2.2 || class="cell_yes"| running fine, tweaks needed to configuration to get the screen elements large enough || 5543,
 +
|-
 +
| Samsung Galaxy Spica I5700 ||Samdroid mod || class="cell_yes"| running fine || 4083
 +
|-
 +
| Samsung Galaxy Tab P1000|| || class="cell_yes"| running fine || 4183
 +
|-
 +
| Samsung Galaxy Tab S3 9.7"|| Android 8.0 || class="cell_no"| running fine || 6382
 +
|-
 +
| Skytex Skypad  Alpha 2 (SX-SP715A) || Android 4.0.3 || class="cell_no" | device lacks GPS hardware, otherwise runs fine || 6382
 +
|-
 +
| Xiaomi One Plus ||MIUI 2.3.5k || class="cell_yes"| running fine; GPS to start manually || 0.5.0 4929
 +
|-
 +
| Xperia X8|| || class="cell_yes"| running fine || 0.5.0.4281
 +
|-
 +
| Xperia X10|| || class="cell_yes"| running fine || ??
 +
|-
 +
| ZTE Blade ||Orange San Francisco || class="cell_yes"| running fine || 4155
 
|}
 
|}
  
[[Image:Andoid.png]]
+
==Useful information==
 +
[[Image:Andoidscreenshot_003.png|150px|thumb|In-app map downloading]]
 +
===Maps===
 +
There are two ways to get a map into Navit.
 +
# Press your device's Menu button, and choose ''Download first map''. Maps will be greater than 50MB, so it's best to turn on your wifi.
 +
# Download a map from [http://maps.navit-project.org/ the Navit Map Extractor], connect your device to your pc, choose ''Select to copy files to/from your computer'' on the device and save the downloaded map as ''navitmap.bin'' into the ''navit'' folder on your device.
  
====Setup and Configuration====
+
===Advanced configuration===
* Get the latest apk for your phone (see above) and install it onto your device.
+
When Navit starts, a copy of <tt>/data/data/org.navitproject.navit/share/navit.xml</tt> matching your display resolution is extracted from the apk. If you have root permissions on your device, you can use this file as a starting point for a customized configuration. Otherwise unzip the apk file and use the xml file from the subdirectory <tt>res/raw/</tt> which matches the display resolution (ldpi, mdpi or hdpi).
* Get a map from http://maps.navit-project.org/download/ and put it on the root of your SD card (not into a subdirectory) as '''navitmap.bin'''. If you plan to install for a Samsung I7500 Galaxy, the easiest way to start will be to put the map file on the folder '''/sdcard''' (the root of the internal memory, because the memory of the SD card is mounted to /sdcard/sd).
+
You can save your configuration as <tt>/sdcard/navit/navit.xml</tt> which is then used instead of the one from the data directory.
* 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 [http://trac.navit-project.org/ bug report].
+
* If you'd like to configure the initial view of the map (it should automatically center on your position if the on-board GPS has a fix) change the '''<navit center=...''' attribute to your home coordinates.
  
If you can't update try to uninstall it first. Note that you will lose your bookmarks and all settings.
+
* See [[Configuration]] for additional settings.
  
====Setup and Configuration [Samsung Galaxy S running froyo] ====
+
===Layouts===
* download and install TTS-extended (its not on the android market anymore) [http://code.google.com/p/eyes-free/downloads/detail?name=tts_3.1_market.apk tts_3.1_market.apk]
 
* run TTS, after startup it will download voice data. dont configure anything after download, just press back-key
 
* now download and install navit-svn [http://download.navit-project.org/navit/android/svn/navit-current.apk navit-current.apk]
 
* now download a map for your region (cloudmade maps do NOT work anymore!) from this page http://maps5.navit-project.org/
 
* select a region you want, and press "Get map!" button
 
* put the downloaded map file on your GalaxyS under this exact name /sdcard/navitmap.bin
 
* now start using navit
 
  
  
==== Compiling it yourself ====
+
==== 0606.at Android Layout ====
 +
===== General =====
 +
Description in [http://0606.at/index.php?option=com_content&view=article&id=115:samsung-galaxy-nexus-navit-layoutosd&catid=53:android&Itemid=57 german] (HDPI and MDPI)
 +
===== Features =====
 +
* '''automatic navigation and tracking mode:'''
 +
** tracking mode provides coordinates, altitude, current street
 +
** navigation mode shows current street, next street, distance left, time left, next street, distance to the next maneuver, route indicators, altitude
 +
* '''routing status:''' five icons show the current routing status.
 +
* '''switch landscape/portrait mode:''' at the moment navit does not support automatic switching between portrait and landscape mode. Therefore there are included a landscape and a portrait optimized layout. Both of them work at every screen orientation. They are switchable manually by clicking the Button (see Description below)
 +
* Optimized Menue (see [[Internal_GUI/Menu_configurations#0606.at Android GUI ]])
 +
* The layouts shown in the screenshots below use the [[Layout#Mapnik_for_small_screens|Mapnik layout optimised for small screens, available on this wiki]].
  
'''Note:''' build will fail with the latest version of the NDK as of {{revision|3490}}; see ticket {{trac|632}} for details and solution.
+
===== Screenshots =====
 +
[[File:0606 osd screenshot portrait.png]]
 +
[[File:0606 osd screenshot landscape.png]]
  
* Install the prerequisite libraries see [[Dependencies]]
+
===== Description =====
You need the Android NDK and SDK.
+
{| class="wikitable"
* Extend PATH with $NDK/build/prebuilt/linux-x86/arm-eabi-4.2.1/bin:
+
! width="10%"|Symbol !! Description
$SDK/tools
+
|-
where $NDK and $SDK refers to the development kits.
+
| [[File:Symbol zoomin.png]]
* Check out the newest svn version with svn co https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit
+
| zoom in
* Run ./autogen.sh 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) ***
+
| [[File:0606 Gui strength 2 48 48.png]]
* Run make
+
| GPS Accuracy (not the number of used satellites!)
* cd navit
+
|-
* Run make apkg
+
| [[File:0606 Osd routing no-dest.png]]
The result is in android/bin as Navit-debug.apk
+
| '''route status:''' no destination set/unknown destination
 +
|-
 +
| [[File:0606 Osd routing dest-ok.png]]
 +
| '''route info:''' destination ok
 +
|-
 +
| [[File:0606 Osd routing calc.png]]
 +
| '''route info:''' calculate route
 +
|-
 +
| [[File:0606 Osd routing no-route.png]]
 +
| '''route info:''' no route found
 +
|-
 +
| [[File:Osd routing routing.png]]
 +
| '''route info:''' routing active
 +
|-
 +
| [[File:0606_Symbol_format.png]]
 +
| switch format landscape <-> portrait
 +
|-
 +
| [[File:0606 Symbol menue.png]]
 +
| open menu
 +
|-
 +
| [[File:0606 Symbol route.png]]
 +
| show whole route
 +
|-
 +
| [[File:0606 Symbol zoomout.png]]
 +
| zoom out
 +
|-
 +
|}
 +
 
 +
===== Download =====
 +
Package (including OSD, Layout, POI Symbols, navit.xml) for
 +
* MDPI (e.g. Galaxy II, screens with more than 800x480Px) [http://develop.0606.at/navit/20120227_navit_ops_800.zip download]
 +
* HDPI (e.g. Galaxy Nexus, screens with more than 1280x720Px) [http://develop.0606.at/navit/20120224_navit_ops.zip download]
 +
 
 +
===== Installation =====
 +
* get a recent version from Navit for Android
 +
* get the Package (see Download), which fits to your screen resolution, copy it as zip file on you phone and extract it there with a filemanager in the folder /sdcard/navit
 +
* Download a map from http://maps.navit-project.org/, rename it to navitmap.bin and put it into /sdcard/navit
 +
* Enjoy!
 +
 
 +
===== Bugs, ToDo =====
 +
* integrate odometer, compass and stopwatch
 +
* sometimes GPS Status and Routing information are displayed in the menu {{trac|1057}}
 +
* adjust "show whole route" section
 +
* adjust vehicle cursor
 +
 
 +
===== XML =====
 +
{| width="100%" class="collapsible collapsed wikitable"
 +
|-
 +
! Layout XML (MDPI)
 +
|-
 +
|
 +
<code>
 +
<pre style="white-space: pre-wrap;">
 +
      <!-- Generel -->
 +
<osd name="my_osd_cmdif_3" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="gps_accuracyp"].src =
 +
vehicle.position_radius==0    ? "/sdcard/navit/symbols_800/gui_strength_0_48_48.png" :
 +
(vehicle.position_radius>0 && vehicle.position_radius<=10    ? "/sdcard/navit/symbols_800/gui_strength_5_48_48.png" : 
 +
(vehicle.position_radius>10 && vehicle.position_radius<=20    ? "/sdcard/navit/symbols_800/gui_strength_4_48_48.png" :
 +
(vehicle.position_radius>20 && vehicle.position_radius<=30    ? "/sdcard/navit/symbols_800/gui_strength_3_48_48.png" :
 +
(vehicle.position_radius>30 && vehicle.position_radius<=40    ? "/sdcard/navit/symbols_800/gui_strength_2_48_48.png" :
 +
(vehicle.position_radius>40    ? "/sdcard/navit/symbols_800/gui_strength_1_48_48.png" : "unhandled"
 +
))))))
 +
'  />
 +
<osd name="my_osd_cmdif_4" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="gps_accuracyl"].src =
 +
vehicle.position_radius==0    ? "/sdcard/navit/symbols_800/gui_strength_0_48_48.png" :
 +
(vehicle.position_radius>0 && vehicle.position_radius<=10    ? "/sdcard/navit/symbols_800/gui_strength_5_48_48.png" : 
 +
(vehicle.position_radius>10 && vehicle.position_radius<=20    ? "/sdcard/navit/symbols_800/gui_strength_4_48_48.png" :
 +
(vehicle.position_radius>20 && vehicle.position_radius<=30    ? "/sdcard/navit/symbols_800/gui_strength_3_48_48.png" :
 +
(vehicle.position_radius>30 && vehicle.position_radius<=40    ? "/sdcard/navit/symbols_800/gui_strength_2_48_48.png" :
 +
(vehicle.position_radius>40    ? "/sdcard/navit/symbols_800/gui_strength_1_48_48.png" : "unhandled"
 +
))))))
 +
'  />
 +
 
 +
<osd name="my_osd_cmdif_1" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="icon_route_statusp"].src =
 +
route.route_status==1    ? "/sdcard/navit/symbols_800/osd_routing_dest-ok.png" :
 +
(route.route_status==0    ? "/sdcard/navit/symbols_800/osd_routing_no-dest.png" : 
 +
(route.route_status==3    ? "/sdcard/navit/symbols_800/osd_routing_no-route.png" :
 +
(route.route_status==5    ? "/sdcard/navit/symbols_800/osd_routing_calc.png" :
 +
(route.route_status==13    ? "/sdcard/navit/symbols_800/osd_routing_calc.png" :
 +
(route.route_status==17    ? "/sdcard/navit/symbols_800/osd_routing_routing.png" :
 +
(route.route_status==33    ? "/sdcard/navit/symbols_800/osd_routing_routing.png" : "unhandled"
 +
)))))))
 +
'  />
 +
<osd name="my_osd_cmdif_5" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="icon_route_statusl"].src =
 +
route.route_status==1    ? "/sdcard/navit/symbols_800/osd_routing_dest-ok.png" :
 +
(route.route_status==0    ? "/sdcard/navit/symbols_800/osd_routing_no-dest.png" : 
 +
(route.route_status==3    ? "/sdcard/navit/symbols_800/osd_routing_no-route.png" :
 +
(route.route_status==5    ? "/sdcard/navit/symbols_800/osd_routing_calc.png" :
 +
(route.route_status==13    ? "/sdcard/navit/symbols_800/osd_routing_calc.png" :
 +
(route.route_status==17    ? "/sdcard/navit/symbols_800/osd_routing_routing.png" :
 +
(route.route_status==33    ? "/sdcard/navit/symbols_800/osd_routing_routing.png" : "unhandled"
 +
)))))))
 +
'  /> 
 +
 
 +
 
 +
<!-- landscape_800-->
 +
<!-- Top Line -->>
 +
<osd enabled="yes" type="button" x="0" y="0" align="5" w="1196" h="46"  command="" src="/sdcard/navit/landscape_800/ls_line3.png" osd_configuration="6" />
 +
<osd enabled="yes" type="text" label="${navigation.item.street_name} ${navigation.item.street_name_systematic}"  x="110" y="0" w="600" h="57" align="5" background_color="#00000000" font_size="500" font="Garuda" osd_configuration="6"/>
 +
<osd enabled="yes" type="text" label="${tracking.item.street_name} ${tracking.item.street_name_systematic}"  x="69" y="0" w="600" h="57" align="5" background_color="#00000000" font_size="500" font="Garuda" osd_configuration="6"/>
 +
 
 +
<!-- Menue -->
 +
<osd enabled="yes" type="button" x="0" y="0" align="5" w="67" h="1200"  command="" src="/sdcard/navit/landscape_800/ls_menue_left.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0" y="0" w="67" h="67" command="zoom_in()" src="/sdcard/navit/symbols_800/symbol_zoomin.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0"  y="-109" w="67" h="67" align="6" command="zoom_out()" src="/sdcard/navit/symbols_800/symbol_zoomout.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0"  y="-169" w="67" h="60" align="6" command="zoom_to_route()" src="/sdcard/navit/symbols_800/symbol_route.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0"  y="-229" w="67" h="60" align="6" command="gui.menu()" src="/sdcard/navit/symbols_800/symbol_menue.png" osd_configuration="6"/>
 +
<osd enabled="yes" type="button" x="0"  y="-289" w="67" h="60" align="6" command="osd_configuration=osd_configuration>=8?4:16" src="/sdcard/navit/symbols_800/symbol_format.png" osd_configuration="6" />
 +
<osd name="gps_accuracyl" enabled="yes" type="button" command="" src="/sdcard/navit/symbols_800/gui_strength_0_48_48.png" x="13" y="107"  w="40" h="37" align="5" osd_configuration="6" />
 +
<osd name="icon_route_statusl" enabled="yes" type="button" command="" src="/sdcard/navit/symbols_800/osd_routing_no-dest.png" w="61" h="34" align="5" x="3" y="67" osd_configuration="6" />
 +
 
 +
<!-- Bottom Line -->
 +
<!-- NAV Mode -->
 +
<osd enabled="yes" type="text" label="eta" x="0" y="-23" w="30" h="23" align="6"  font_size="267" text_color="#8d8d8d" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="${navigation.item.destination_time[arrival]}" x="30" y="-40" w="127" h="47" align="6"  font_size="500" background_color="#00000000" osd_configuration="20"/>
 +
<!-- Tracking Mode -->
 +
<osd enabled="yes" type="text" label="pos" x="0" y="-23" w="30" h="23" align="6"  font_size="267" text_color="#8d8d8d" background_color="#00000000" osd_configuration="10"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_coord_geo[pos_deg]}" x="33" y="-47" w="400" h="47" align="6"  font_size="367" background_color="#00000000" osd_configuration="10"/>
 +
 
 +
<osd enabled="yes" type="text" label="tl" x="170" y="-23" w="17" h="23" align="6"  font_size="267" text_color="#8d8d8d" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="${navigation.item.destination_time[remaining]}" x="187" y="-40" w="93" h="47" align="6"  font_size="500" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="dl" x="290" y="-23" w="23" h="23" align="6"  font_size="267" text_color="#8d8d8d" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="${navigation.item.destination_length[named]}" x="310" y="-40" w="127" h="47" align="6"  font_size="500" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="alt" x="436" y="-23" w="30" h="23" align="6"  font_size="267" text_color="#8d8d8d" background_color="#00000000" osd_configuration="6"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_height}" x="467" y="-40" w="93" h="47" align="6"  font_size="500" background_color="#00000000" osd_configuration="6"/>
 +
<osd enabled="yes" type="speed_warner" x="580" y="-42" w="67" h="47" align="6" text_color="#ffffff" font_size="500" speed_exceed_limit_offset="15" speed_exceed_limit_percent="10" announce_on="1" background_color="#00000000" label="text_only" align="6" osd_configuration="6"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="647" y="-40" w="151" h="47" align="6"  text_color="#ff0000"  font_size="500" background_color="#00000000" osd_configuration="6"/>
 +
 
 +
<osd enabled="yes" type="navigation_next_turn" x="73" y="-247" w="171" h="171" icon_src="/sdcard/navit/symbols_800/%s_wh_96_96.png"  background_color="#00000000" osd_configuration="4"/>
 +
 
 +
<osd enabled="yes" type="button" x="0" y="-86" align="6" w="1196" h="46"  command="" src="/sdcard/navit/landscape_800/ls_line2.png" osd_configuration="4" /> 
 +
 
 +
<osd enabled="yes" type="text" label="${navigation.item[1].length[named]}" x="67" y="-80" font_size="633" w="153" h="46" align="6" text_color="#ff0000" background_color="#00000000" osd_configuration="4" />
 +
<osd enabled="yes" type="text" label="${navigation.item[1].street_name} ${navigation.item[1].street_name_systematic}" x="233" y="-80" font_size="633" w="700" h="46" align="6" background_color="#00000000" osd_configuration="4"/> 
 +
 
 +
<osd enabled="yes" type="button" x="0" y="-40" align="6" w="1196" h="40"  command="" src="/sdcard/navit/landscape_800/ls_line1.png" osd_configuration="6" />
 +
 
 +
<!-- Display routing status-->
 +
<!--Enable/Disable routing information depending upon the route status -->
 +
<osd name="my_osd_cmdif_2" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='osd_configuration=
 +
route.route_status==1 && osd_configuration>=8    ? 8 :
 +
(route.route_status==0 && osd_configuration>=8    ? 8 : 
 +
(route.route_status==3 && osd_configuration>=8    ? 8 :
 +
(route.route_status==5 && osd_configuration>=8    ? 8 :
 +
(route.route_status==13 && osd_configuration>=8    ? 8 :
 +
(route.route_status==17 && osd_configuration>=8    ? 16 :
 +
(route.route_status==33 && osd_configuration>=8    ? 16 :
 +
(route.route_status==1 && osd_configuration<8    ? 2 :
 +
(route.route_status==0 && osd_configuration<8    ? 2 : 
 +
(route.route_status==3 && osd_configuration<8    ? 2 :
 +
(route.route_status==5 && osd_configuration<8    ? 2 :
 +
(route.route_status==13 && osd_configuration<8    ? 2 :
 +
(route.route_status==17 && osd_configuration<8    ? 4 :
 +
(route.route_status==33 && osd_configuration<8    ? 4 : 1
 +
)))))))))))))))
 +
' />
 +
<!-- portrait_800 -->
 +
<!--
 +
<osd enabled="yes" type="button" x="100" y="3" align="5" w="3" h="70"  command="" src="/sdcard/navit/androsd/osd_up-spacer.png" />
 +
<osd enabled="yes" type="button" x="-103" y="3" align="9" w="3" h="70"  command="" src="/sdcard/navit/androsd/osd_up-spacer.png" />
 +
-->       
 +
 
 +
<!-- Top Line -->
 +
<osd enabled="yes" type="button" x="0" y="0" align="5" w="1280" h="71"  command="" src="/sdcard/navit/portrait_800/p_line5.png" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="0" y="71" align="5" w="1280" h="40"  command="" src="/sdcard/navit/portrait_800/p_line4.png" osd_configuration="24" />
 +
<osd enabled="yes" type="text" label=" ${navigation.item.street_name} ${navigation.item.street_name_systematic}"  x="2" y="65" w="600" h="57" align="5" background_color="#00000000" font_size="500" font="Garuda" osd_configuration="16"/>
 +
<osd enabled="yes" type="text" label="${tracking.item.street_name} ${tracking.item.street_name_systematic}"  x="2" y="65" w="600" h="57" align="5" background_color="#00000000" font_size="500" font="Garuda" osd_configuration="8"/>
 +
 
 +
<!-- Menue -->
 +
<osd enabled="yes" type="button" x="0"  y="2" w="67" h="67" align="5" command="zoom_out()" src="/sdcard/navit/symbols_800/symbol_zoomout.png" osd_configuration="24" />
 +
<osd name="icon_route_statusp" enabled="yes" type="button" command="" src="/sdcard/navit/symbols_800/osd_routing_no-dest.png" w="61" h="34" align="5" x="72" y="16" osd_configuration="24" />
 +
<osd name="gps_accuracyp" enabled="yes" type="button" command="" src="/sdcard/navit/symbols_800/gui_strength_0_48_48.png" x="134" y="17"  w="40" h="37" align="5" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="-289"  y="7" w="67" h="60" align="9" command="osd_configuration=osd_configuration>=8?4:16" src="/sdcard/navit/symbols_800/symbol_format.png" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="-215"  y="7" w="67" h="60" align="9" command="gui.menu()" src="/sdcard/navit/symbols_800/symbol_menue.png" osd_configuration="24"/>
 +
<osd enabled="yes" type="button" x="-141"  y="7" w="67" h="60" align="9" command="zoom_to_route()" src="/sdcard/navit/symbols_800/symbol_route.png" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="-67" y="3" w="67" h="67" align="9" command="zoom_in()" src="/sdcard/navit/symbols_800/symbol_zoomin.png" osd_configuration="24" />
 +
 
 +
<!-- Bottom Line -->
 +
<osd enabled="yes" type="text" label="alt" x="160" y="-61" w="30" h="23" align="6"  font_size="267" text_color="#8d8d8d" background_color="#00000000" osd_configuration="24"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_height}" x="187" y="-78" w="93" h="47" align="6"  font_size="500" background_color="#00000000" osd_configuration="24"/>
 +
<osd enabled="yes" type="speed_warner" x="-217" y="-80" w="67" h="47" align="6" text_color="#ffffff" font_size="500" speed_exceed_limit_offset="15" speed_exceed_limit_percent="10" announce_on="1" background_color="#00000000" label="text_only" align="8" osd_configuration="24"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="-150" y="-78" w="147" h="47" align="6"  text_color="#ff0000"  font_size="500" background_color="#00000000" osd_configuration="24"/>
 +
 
 +
<osd enabled="yes" type="navigation_next_turn" x="10" y="-300" w="171" h="171" icon_src="/sdcard/navit/symbols_800/%s_wh_96_96.png"  background_color="#00000000" osd_configuration="16"/>
 +
 
 +
<osd enabled="yes" type="text" label="${navigation.item[1].length[named]}" x="3" y="-78" font_size="500" w="153" h="47" align="6" text_color="#ff0000" background_color="#00000000" osd_configuration="16" />
 +
<osd enabled="yes" type="text" label="${navigation.item[1].street_name} ${navigation.item[1].street_name_systematic}" x="3" y="-125" font_size="500" w="700" h="47" align="6" background_color="#00000000" osd_configuration="16"/> 
 +
 
 +
<osd enabled="yes" type="button" x="0" y="-123" align="6" w="1280" h="43"  command="" src="/sdcard/navit/portrait_800/p_line3.png" osd_configuration="16" /> 
 +
<osd enabled="yes" type="button" x="0" y="-80" align="6" w="1280" h="80"  command="" src="/sdcard/navit/portrait_800/p_line1.png" osd_configuration="24" />
 +
</pre>
 +
</code>
 +
|}
 +
 
 +
 
 +
{| width="100%" class="collapsible collapsed wikitable"
 +
|-
 +
! Layout XML (HDPI)
 +
|-
 +
|
 +
<code>
 +
<pre style="white-space: pre-wrap;">
 +
<!-- Generel -->
 +
<osd name="my_osd_cmdif_3" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="gps_accuracyp"].src =
 +
vehicle.position_radius==0    ? "/sdcard/navit/symbols/gui_strength_0_48_48.png" :
 +
(vehicle.position_radius>0 && vehicle.position_radius<=10    ? "/sdcard/navit/symbols/gui_strength_5_48_48.png" : 
 +
(vehicle.position_radius>10 && vehicle.position_radius<=20    ? "/sdcard/navit/symbols/gui_strength_4_48_48.png" :
 +
(vehicle.position_radius>20 && vehicle.position_radius<=30    ? "/sdcard/navit/symbols/gui_strength_3_48_48.png" :
 +
(vehicle.position_radius>30 && vehicle.position_radius<=40    ? "/sdcard/navit/symbols/gui_strength_2_48_48.png" :
 +
(vehicle.position_radius>40    ? "/sdcard/navit/symbols/gui_strength_1_48_48.png" : "unhandled"
 +
))))))
 +
'  />
 +
<osd name="my_osd_cmdif_4" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="gps_accuracyl"].src =
 +
vehicle.position_radius==0    ? "/sdcard/navit/symbols/gui_strength_0_48_48.png" :
 +
(vehicle.position_radius>0 && vehicle.position_radius<=10    ? "/sdcard/navit/symbols/gui_strength_5_48_48.png" : 
 +
(vehicle.position_radius>10 && vehicle.position_radius<=20    ? "/sdcard/navit/symbols/gui_strength_4_48_48.png" :
 +
(vehicle.position_radius>20 && vehicle.position_radius<=30    ? "/sdcard/navit/symbols/gui_strength_3_48_48.png" :
 +
(vehicle.position_radius>30 && vehicle.position_radius<=40    ? "/sdcard/navit/symbols/gui_strength_2_48_48.png" :
 +
(vehicle.position_radius>40    ? "/sdcard/navit/symbols/gui_strength_1_48_48.png" : "unhandled"
 +
))))))
 +
'  />
 +
 
 +
<osd name="my_osd_cmdif_1" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="icon_route_statusp"].src =
 +
route.route_status==1    ? "/sdcard/navit/symbols/osd_routing_dest-ok.png" :
 +
(route.route_status==0    ? "/sdcard/navit/symbols/osd_routing_no-dest.png" : 
 +
(route.route_status==3    ? "/sdcard/navit/symbols/osd_routing_no-route.png" :
 +
(route.route_status==5     ? "/sdcard/navit/symbols/osd_routing_calc.png" :
 +
(route.route_status==13    ? "/sdcard/navit/symbols/osd_routing_calc.png" :
 +
(route.route_status==17    ? "/sdcard/navit/symbols/osd_routing_routing.png" :
 +
(route.route_status==33    ? "/sdcard/navit/symbols/osd_routing_routing.png" : "unhandled"
 +
)))))))
 +
'  />
 +
<osd name="my_osd_cmdif_5" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
 +
osd[@name=="icon_route_statusl"].src =
 +
route.route_status==1    ? "/sdcard/navit/symbols/osd_routing_dest-ok.png" :
 +
(route.route_status==0    ? "/sdcard/navit/symbols/osd_routing_no-dest.png" : 
 +
(route.route_status==3    ? "/sdcard/navit/symbols/osd_routing_no-route.png" :
 +
(route.route_status==5    ? "/sdcard/navit/symbols/osd_routing_calc.png" :
 +
(route.route_status==13    ? "/sdcard/navit/symbols/osd_routing_calc.png" :
 +
(route.route_status==17    ? "/sdcard/navit/symbols/osd_routing_routing.png" :
 +
(route.route_status==33    ? "/sdcard/navit/symbols/osd_routing_routing.png" : "unhandled"
 +
)))))))
 +
'  /> 
 +
 
 +
 
 +
<!-- Landscape-->
 +
<!-- Top Line -->>
 +
<osd enabled="yes" type="button" x="0" y="0" align="5" w="1196" h="69"  command="" src="/sdcard/navit/landscape/ls_line3.png" osd_configuration="6" />
 +
<osd enabled="yes" type="text" label="${navigation.item.street_name} ${navigation.item.street_name_systematic}"  x="110" y="0" w="800" h="85" align="5" background_color="#00000000" font_size="750" font="Garuda" osd_configuration="6"/>
 +
<osd enabled="yes" type="text" label="${tracking.item.street_name} ${tracking.item.street_name_systematic}"  x="110" y="0" w="800" h="85" align="5" background_color="#00000000" font_size="750" font="Garuda" osd_configuration="6"/>
 +
 
 +
<!-- Menue -->
 +
<osd enabled="yes" type="button" x="0" y="0" align="5" w="100" h="1200"  command="" src="/sdcard/navit/landscape/ls_menue_left.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0" y="0" w="100" h="100" command="zoom_in()" src="/sdcard/navit/symbols/symbol_zoomin.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0"  y="-163" w="100" h="100" align="6" command="zoom_out()" src="/sdcard/navit/symbols/symbol_zoomout.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0"  y="-253" w="100" h="90" align="6" command="zoom_to_route()" src="/sdcard/navit/symbols/symbol_route.png" osd_configuration="6" />
 +
<osd enabled="yes" type="button" x="0"  y="-343" w="100" h="100" align="6" command="gui.menu()" src="/sdcard/navit/symbols/symbol_menue.png" osd_configuration="6"/>
 +
<osd enabled="yes" type="button" x="0"  y="-433" w="100" h="100" align="6" command="osd_configuration=osd_configuration>=8?4:16" src="/sdcard/navit/symbols/symbol_format.png" osd_configuration="6" />
 +
<osd name="gps_accuracyl" enabled="yes" type="button" command="" src="/sdcard/navit/symbols/gui_strength_0_48_48.png" x="20" y="156"  w="60" h="55" align="5" osd_configuration="6" />
 +
<osd name="icon_route_statusl" enabled="yes" type="button" command="" src="/sdcard/navit/symbols/osd_routing_no-dest.png" w="92" h="51" align="5" x="4" y="100" osd_configuration="6" />
 +
 
 +
<!-- Bottom Line -->
 +
<!-- NAV Mode -->
 +
<osd enabled="yes" type="text" label="eta" x="0" y="-35" w="45" h="35" align="6"  font_size="400" text_color="#8d8d8d" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="${navigation.item.destination_time[arrival]}" x="45" y="-60" w="190" h="70" align="6"  font_size="750" background_color="#00000000" osd_configuration="20"/>
 +
<!-- Tracking Mode -->
 +
<osd enabled="yes" type="text" label="pos" x="0" y="-35" w="50" h="35" align="6"  font_size="400" text_color="#8d8d8d" background_color="#00000000" osd_configuration="10"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_coord_geo[pos_deg]}" x="50" y="-67" w="600" h="70" align="6"  font_size="550" background_color="#00000000" osd_configuration="10"/>
 +
 
 +
<osd enabled="yes" type="text" label="tl" x="255" y="-35" w="25" h="35" align="6"  font_size="400" text_color="#8d8d8d" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="${navigation.item.destination_time[remaining]}" x="280" y="-60" w="140" h="70" align="6"  font_size="750" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="dl" x="435" y="-35" w="35" h="35" align="6"  font_size="400" text_color="#8d8d8d" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="${navigation.item.destination_length[named]}" x="465" y="-60" w="190" h="70" align="6"  font_size="750" background_color="#00000000" osd_configuration="20"/>
 +
<osd enabled="yes" type="text" label="alt" x="655" y="-35" w="45" h="35" align="6"  font_size="400" text_color="#8d8d8d" background_color="#00000000" osd_configuration="6"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_height}" x="700" y="-60" w="140" h="70" align="6"  font_size="750" background_color="#00000000" osd_configuration="6"/>
 +
<osd enabled="yes" type="speed_warner" x="870" y="-63" w="100" h="70" align="6" text_color="#ffffff" font_size="750" speed_exceed_limit_offset="15" speed_exceed_limit_percent="10" announce_on="1" background_color="#00000000" label="text_only" align="6" osd_configuration="6"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="970" y="-60" w="226" h="70" align="6"  text_color="#ff0000"  font_size="750" background_color="#00000000" osd_configuration="6"/>
 +
 
 +
<osd enabled="yes" type="navigation_next_turn" x="110" y="-370" w="250" h="250" icon_src="/sdcard/navit/symbols/%s_wh_96_96.png"  background_color="#00000000" osd_configuration="4"/>
 +
 
 +
<osd enabled="yes" type="button" x="0" y="-129" align="6" w="1196" h="69"  command="" src="/sdcard/navit/landscape/ls_line2.png" osd_configuration="4" /> 
 +
 
 +
<osd enabled="yes" type="text" label="${navigation.item[1].length[named]}" x="100" y="-121" font_size="950" w="230" h="70" align="6" text_color="#ff0000" background_color="#00000000" osd_configuration="4" />
 +
<osd enabled="yes" type="text" label="${navigation.item[1].street_name} ${navigation.item[1].street_name_systematic}" x="350" y="-121" font_size="950" w="1050" h="70" align="6" background_color="#00000000" osd_configuration="4"/> 
 +
 
 +
<osd enabled="yes" type="button" x="0" y="-60" align="6" w="1196" h="60" command="" src="/sdcard/navit/landscape/ls_line1.png" osd_configuration="6" />
 +
 
 +
<!-- Display routing status-->
 +
 
 +
 +
 
 +
<!--Enable/Disable routing information depending upon the route status -->
 +
<osd name="my_osd_cmdif_2" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='osd_configuration=
 +
route.route_status==1 && osd_configuration>=8    ? 8 :
 +
(route.route_status==0 && osd_configuration>=8    ? 8 : 
 +
(route.route_status==3 && osd_configuration>=8   ? 8 :
 +
(route.route_status==5 && osd_configuration>=8    ? 8 :
 +
(route.route_status==13 && osd_configuration>=8    ? 8 :
 +
(route.route_status==17 && osd_configuration>=8    ? 16 :
 +
(route.route_status==33 && osd_configuration>=8    ? 16 :
 +
(route.route_status==1 && osd_configuration<8    ? 2 :
 +
(route.route_status==0 && osd_configuration<8    ? 2 : 
 +
(route.route_status==3 && osd_configuration<8    ? 2 :
 +
(route.route_status==5 && osd_configuration<8    ? 2 :
 +
(route.route_status==13 && osd_configuration<8    ? 2 :
 +
(route.route_status==17 && osd_configuration<8    ? 4 :
 +
(route.route_status==33 && osd_configuration<8    ? 4 : 1
 +
)))))))))))))))
 +
' />
 +
 
 +
 
 +
 
 +
<!-- Portrait -->
 +
<!--
 +
<osd enabled="yes" type="button" x="100"!-- FIXME ouverture de la recherche, si possible android --> y="3" align="5" w="3" h="70"  command="" src="/sdcard/navit/androsd/osd_up-spacer.png" />
 +
<osd enabled="yes" type="button" x="-103" y="3" align= osd_configuration>=8    ? 16 :
 +
(route.route_status==33 "9" w="3" h="70"  command="" src="/sdcard/navit/androsd/osd_up-spacer.png" />
 +
-->       
 +
 
 +
<!-- Top Line -->
 +
<osd enabled="yes" type="button" x="0" y="0" align="5" w="1280" h="106"  command="" src="/sdcard/navit/portrait/p_line5.png" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="0" y="106" align="5" w="1280" h="60"  command="" src="/sdcard/navit/portrait/p_line4.png" osd_configuration="24" />
 +
<osd enabled="yes" type="text" label=" ${navigation.item.street_name} ${navigation.item.street_name_systematic}"  x="5" y="96" w="800" h="85" align="5" background_color="#00000000" font_size="750" font="Garuda" osd_configuration="16"/>
 +
<osd enabled="yes" type="text" label="${tracking.item.street_name} ${tracking.item.street_name_systematic}"  x="5" y="96" w="800" h="85" align="5" background_color="#00000000" font_size="750" font="Garuda" osd_configuration="8"/>
 +
 
 +
<!-- Menue -->
 +
<osd enabled="yes" type="button" x="0"  y="3" w="100" h="100" align="5" command="zoom_out()" src="/sdcard/navit/symbols/symbol_zoomout.png" osd_configuration="24" />
 +
<osd name="icon_route_statusp" enabled="yes" type="button" command="" src="/sdcard/navit/symbols/osd_routing_no-dest.png" w="92" h="51" align="5" x="105" y="24" osd_configuration="24" />
 +
<osd name="gps_accuracyp" enabled="yes" type="button" command="" src="/sdcard/navit/symbols/gui_strength_0_48_48.png" x="200" y="23"  w="60" h="55" align="5" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="-430"  y="10" w="100" h="100" align="9" command="osd_configuration=osd_configuration>=8?4:16" src="/sdcard/navit/symbols/symbol_format.png" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="-320"  y="10" w="100" h="100" align="9" command="gui.menu()" src="/sdcard/navit/symbols/symbol_menue.png" osd_configuration="24"/>
 +
<osd enabled="yes" type="button" x="-210"  y="10" w="100" h="90" align="9" command="zoom_to_route()" src="/sdcard/navit/symbols/symbol_route.png" osd_configuration="24" />
 +
<osd enabled="yes" type="button" x="-100" y="3" w="100" h="100" align="9" command="zoom_in()" src="/sdcard/navit/symbols/symbol_zoomin.png" osd_configuration="24" />
 +
 
 +
<!-- Bottom Line -->
 +
<osd enabled="yes" type="text" label="alt" x="240" y="-92" w="45" h="35" align="6"  font_size="400" text_color="#8d8d8d" background_color="#00000000" osd_configuration="24"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_height}" x="280" y="-117" w="140" h="70" align="6"  font_size="750" background_color="#00000000" osd_configuration="24"/>
 +
<osd enabled="yes" type="speed_warner" x="-325" y="-120" w="100" h="70" align="6" text_color="#ffffff" font_size="750" speed_exceed_limit_offset="15" speed_exceed_limit_percent="10" announce_on="1" background_color="#00000000" label="text_only" align="8" osd_configuration="24"/>
 +
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="-225" y="-117" w="220" h="70" align="6"  text_color="#ff0000"  font_size="750" background_color="#00000000" osd_configuration="24"/>
 +
 
 +
<osd enabled="yes" type="navigation_next_turn" x="10" y="-450" w="250" h="250" icon_src="/sdcard/navit/symbols/%s_wh_96_96.png"  background_color="#00000000" osd_configuration="16"/>
 +
 
 +
<osd enabled="yes" type="text" label="${navigation.item[1].length[named]}" x="5" y="-117" font_size="750" w="230" h="70" align="6" text_color="#ff0000" background_color="#00000000" osd_configuration="16" />
 +
<osd enabled="yes" type="text" label="${navigation.item[1].street_name} ${navigation.item[1].street_name_systematic}" x="5" y="-185" font_size="750" w="1050" h="70" align="6" background_color="#00000000" osd_configuration="16"/> 
 +
 
 +
<osd enabled="yes" type="button" x="0" y="-184" align="6" w="1280" h="64"  command="" src="/sdcard/navit/portrait/p_line3.png" osd_configuration="16" /> 
 +
<osd enabled="yes" type="button" x="0" y="-120" align="6" w="1280" h="120"  command="" src="/sdcard/navit/portrait/p_line1.png" osd_configuration="24" />
 +
</pre>
 +
</code>
 +
|}
 +
 
 +
[[Category:OSD layouts]]
 +
 
 +
====HDPI Android Layout====
 +
 
 +
<center>
 +
[[File:AndroidAntenna2D.png| 350px]]
 +
&nbsp;
 +
[[File:AndroidAntenna.png| 350px ]]
 +
</center>
 +
 
 +
Minimalistic Layout natively for Android phones. Landscape mode works too, but isn't that pretty.
 +
 
 +
=====Top=====
 +
 
 +
left to right:
 +
*Height
 +
*# of sats
 +
*speed
 +
*distance
 +
*time remaining
 +
*current routing status.
 +
 
 +
======Routing status======
 +
*blue: destination set
 +
*black: idle state
 +
*red: no route found
 +
*orange: calculating state1
 +
*yellow: calculating state2
 +
*green: routing
  
:*I had some problems with the prebuilt Android packages on the Samsung I7500 Galaxy. Navit crashes when the navigation starts. So i decided to compile it from source and detected some changes in the build process.
+
=====Buttons=====
::The configure command was changed to:
+
*F: show whole route and turn follow_cursor off
 +
*A: autozoom on/off
 +
*3/2: 3:pitch 20, zoom 15, autozoom on, maprefresh set to 1 || 2: pitch 0, zoom 40, autzoom off, maprefresh set to 5
 +
*+
 +
*-
  
:./configure PKG_CONFIG=arm-eabi-pkgconfig RANLIB=arm-eabi-ranlib AR=arm-eabi-ar CC="arm-eabi-gcc -L$NDK/build/platforms/'''android-3'''/arch-arm/usr/lib -L. -I$NDK/build platforms/'''android-3'''/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 '''--with-saxon=saxon-xslt''' (replace $NDK with the appropriate path)
+
=====Bottom=====
  
: On Debian/Ubuntu install the package libsaxonb-java and use --with-saxon=saxonb-xslt for configure
+
left to right:  
 +
*distance until turn
 +
*next maneouvre arrow
 +
*name of following street.
  
::You see the differences?
 
::The include- and library-path has changed. You must use '''android-3''' instead of '''android-1.5'''.
 
::After a '''make''', '''cd navit''', '''make apk''' and install to the Samsung I7500 Galaxy, i had a running Navit.
 
  
:*As a slight variation of the above on Debian/Ubuntu, try '''--with-saxon=saxonb-xslt'''; this saves you the makefile operation.
+
=====To do=====
 +
Switching between follow=1 and follow=5 in the 3d/2d-button does not work and I don't know why.
  
==== navit.xml ====
 
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.
 
  
You can use for example <tt>navit_shipped.xml</tt> in
+
=====Download and Installation=====
[https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit/navit/ https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit/navit/],
+
https://www.dropbox.com/s/olt02ds45wpsecd/androidLayoutAntenna.zip
* edit file (if necessary),
 
* rename it to <tt>navit.xml</tt> and
 
* copy file to <tt>/data/data/org.navitproject.navit/share/navit.xml</tt>
 
  
=== Debian on Android Port ===
+
Unzip the folder and put it in your /sdcard/navit folder. I recommend to install navit via F-Droid.
 +
Maps.xml allows you to easily add and remove maps. Cursor.xml only includes the cursor and mapnik.xml the map layout. I added the extra pngs, extract them to your navit folder if you want to (takes some time).
  
Android is a smartphone platform built on the top of the Linux kernel. Current hacks allow gaining root access and installing a full-featured distribution such as Debian, alongside the Android software, running simultaneously on top of the same kernel.
+
Layout by antenna
  
==== Navit porting ====
+
==== Android layout 800x480 ====
 +
[[File:navitArch1.png]]
 +
 
 +
[[File:navitArch2.png]] [[File:navitArch3.png]]
 +
 
 +
Android layout designed for Archos 5 IT. It can be used in portrait and landscape mode.
 +
Files for layout are available here http://depositfiles.com/files/6y0mpbv2p  [http://depositfiles.com/files/6y0mpbv2p]
 +
Place all files in /navit folder on your internal /sdcard
 +
 
 +
The item showing current speed (left-bottom) is clickable. It changes osd configuration.
 +
 
 +
[[File:Carspeed.png]] [[File:Compas.png]] [[File:Down.png]] [[File:Minus2.png]] [[File:Next.png]]
 +
[[File:Odom.png]] [[File:Plus2.png]] [[File:Poioff.png]] [[File:Trid.png]] [[File:Upp.png]]
 +
 
 +
{| width="100%" class="collapsible collapsed wikitable"
 +
|-
 +
! Layout XML
 +
|-
 +
|
 +
<code>
 +
<pre style="white-space: pre-wrap;">
 +
<xml>
 +
<!--Common -->
 +
<osd enabled="yes" type="text" label="${vehicle.position_speed[value]}" x="0" y="-49" w="112" h="50" background_color="#00000000" align="0" font_size="800" text_color="#ffffff" command="osd_configuration=osd_configuration==2?1:2"  />       
 +
        <osd enabled="yes" type="button" x="0" y="-50" w="114" h="54"  src="/sdcard/navit/Carspeed.png" command="osd_configuration=osd_configuration==2?1:2"  />
 +
 
 +
<!-- Layout 2 -->
 +
<osd type="button" src="/sdcard/navit/Plus2.png"  x="-106" y="54"  command="zoom_in()"  osd_configuration="1"  />
 +
        <osd type="button" src="/sdcard/navit/Trid.png"  x="-106" y="54"  command="pitch=pitch==0?25:0;autozoom_active=pitch==0?0:1;osd_configuration=1"  osd_configuration="2" />
 +
        <osd type="button" src="/sdcard/navit/Minus2.png"  x="-106" y="170" command="zoom_out()" osd_configuration="1"  />
 +
        <osd type="button" src="/sdcard/navit/Poioff.png" x="-106" y="286" command="toggle_layer(&quot;polygons&quot;);toggle_layer(&quot;POI Symbols&quot;);toggle_layer(&quot;POI Labels&quot;);osd_configuration=1" osd_configuration="2"  />
 +
        <osd type="button" src="/sdcard/navit/Compas.png"  x="-106" y="170" command="radius=orientation==-1?1:30;tracking=orientation==-1?0:1;orientation=orientation==-1?0:-1;osd_configuration=1" osd_configuration="2" />
 +
 
 +
 
 +
<!--Layout 1      -->       
 +
        <osd type="navigation_next_turn" x="15" y="56" w="96" h="96" icon_src="/sdcard/navit/xpm/%s_wh_96_96.png"  background_color="#00000000" osd_configuration="1" />
 +
        <osd type="text" label="${navigation.item[1].length[value]}" x="7" y="162" w="109" h="60" font_size="800" text_color="#f87228" align="0"  background_color="#00000000" osd_configuration="1" />
 +
        <osd type="text" label="${navigation.item[1].length[unit]}" x="108" y="175" w="30" h="40" font_size="230" align="6" background_color="#00000000" osd_configuration="1" />
 +
    text>Eigene Ziele    <osd enabled="yes" type="navigation_next_turn" x="0" y="48" w="135" h="170"  icon_src="/sdcard/navit/Next.png" background_color="#00000000" osd_configuration="1" />
 +
 
 +
        <osd enabled="yes" type="navigation_next_turn" x="1" y="-130" w="32" h="40"  icon_src="/sdcard/navit/nav_destination_wh_32_32.png"  background_color="#00000000" osd_configuration="1"/>
 +
        <osd type="text" label="${navigation.item.destination_length[value]}" x="32" y="-130" w="56" h="40" font_size="370" align="2"  background_color="#00000000" osd_configuration="1"/>
 +
        <osd type="text" label="${navigation.item.destination_length[unit]}" x="88" y="-130" w="22" h="40" font_size="230" align="6"  background_color="#00000000" osd_configuration="1"/>
 +
        <osd enabled="yes" type="navigation_next_turn" x="1" y="-90" w="34" h="40"  icon_src="/sdcard/navit/clock.png"  background_color="#00000000" osd_configuration="1"/>
 +
        <osd type="text" label="${navigation.item.destination_time[remaining]}" x="34" y="-90" w="76" h="40" font_size="370" align="4"  background_color="#00000000" osd_configuration="1"/>
 +
        <osd enabled="yes" type="navigation_next_turn" x="0" y="-130" w="114" h="84"  icon_src="/sdcard/navit/Odom.png"  background_color="#00000000" osd_configuration="1" />
 +
       
 +
<osd enabled="yes" type="speed_warner" w="98" h="98" x="-104" y="-150" background_color="#00000000" font_size="600" speed_exceed_limit_offset="15" speed_exceed_limit_percent="15" announce_on="1" osd_configuration="1" />       
 +
<osd enabled="yes" type="button" x="-103" y="-149" w="96" h="96" src="/sdcard/navit/speed_white.png" command="" background_color="#00000000" osd_configuration="1" />
 +
 
 +
        <osd enabled="yes" type="text" label="${navigation.item[1].street_name} ${navigation.item[1].street_name_systematic}" x="0" y="0" w="480" h="50" font_size="420" align="8" background_color="#00000000" osd_configuration="1"  />
 +
        <osd enabled="yes" type="navigation_next_turn" x="0" y="0" w="480" h="50"  icon_src="/sdcard/navit/Upp.png"  background_color="#00000000" osd_configuration="1" />
 +
       
 +
        <osd enabled="yes" type="text" label="${navigation.item.street_name} ${navigation.item.street_name_systematic}" x="112" y="-30" w="372" h="35" font_size="315" align="0" background_color="#00000000" osd_configuration="1" />
 +
        <osd enabled="yes" type="navigation_next_turn" x="112" y="-30" w="372" h="35"  icon_src="/sdcard/navit/Down.png"  background_color="#00000000" osd_configuration="1" />
 +
 
 +
<!--Unsorted -->
 +
        <osd enabled="no" type="compass" x="25" y="0"  w="430" h="430" background_color="#00000000" />
 +
<xml/>
 +
 
 +
</pre>
 +
</code>
 +
|}
 +
 
 +
==== An other android layout 800x480 ====
 +
 
 +
[[File:androidLayout800x480_H.png|360px]]
 +
[[File:androidLayout800x480_V.png|140px]]
 +
 
 +
An android layout for 800x480 device. It can be used in portrait and landscape mode
 +
 
 +
Description :
 +
* On top, distance to destination and arrival time
 +
* On left bottom, next direction
 +
* On bottom : next street
 +
* On right bottom : speed en speed limit (with speed warning)
 +
* The radar warning appears on the left of speed (!!! UNTESTED !!!)
 +
 
 +
Download :
 +
* http://download.tuxfamily.org/jopen/navit/androidOSD.zip (content xml layout, png images and svg image (inskcape file).
 +
 
 +
{| width="100%" class="collapsible collapsed wikitable"
 +
|-
 +
! Layout XML
 +
|-
 +
|
 +
<code>
 +
<pre style="white-space: pre-wrap;">
 +
        <!--- TOP -->
 +
        <osd x="0"  y="O"  w="180" h="40" enabled="yes" type="image" src="/sdcard/navit/top.png" osd_configuration="1" />
 +
        <!-- FIXME afficher calcul en cours ... -->
 +
        <!-- FIXME ne s'affiche pas --><osd x="0" y="0" w="38" h="38" enabled="yes" type="gps_status" background_color="#00000000" osd_configuration="1" />
 +
        <osd x="-50" y="0" w="350" h="40" type="text" font_size="600" align="8" label="${navit.messages}" osd_configuration="1" background_color="#00000000" osd_configuration="1" />
 +
        <!-- FIXME ouverture de la recherche, si possible android --><osd x="-370" y="2" w="40" h="40" type="button" command="gui.town()" src="/sdcard/navit/arrival.png" font_size="400" align="4" background_color="#00000000" osd_configuration="1" />
 +
        <osd x="-400" y="0" w="400" h="40" type="text" font_size="600" align="8" label="${navigation.item.destination_length[named]} / ${navigation.item.destination_time[arrival]}" osd_configuration="1" background_color="#00000000" osd_configuration="1" />
 +
 
 +
        <!--- LEFT BOTTOM -->
 +
        <osd x="0"  y="-155"  w="800" h="155" enabled="yes" type="image" src="/sdcard/navit/left_bottom.png" osd_configuration="1" />
 +
        <osd x="0" y="-155" w="160" h="115" type="navigation_next_turn" icon_src="%s_wh_59_59.png" osd_configuration="1" background_color="#00000000"  osd_configuration="1" />
 +
        <osd x="0" y="-40" w="160" h="40" type="text" label="${navigation.item[1].length[named]}" font_size="600" background_color="#00000000" osd_configuration="1"/>
 +
        <osd x="160" y="-40" w="640" h="40" align="4" type="text" label="${navigation.item[1].street_name_systematic} ${navigation.item[1].street_name}" font_size="400" background_color="#00000000" osd_configuration="1"/>
 +
 
 +
        <!-- RIGHT BOTTOM -->
 +
        <osd x="-160"  y="-155" w="160" h="112" enabled="yes" type="image" src="/sdcard/navit/right_bottom.png"  osd_configuration="1" />
 +
        <osd x="-160"  y="-120" w="90"  h="77" enabled="yes" type="text" font_size="600" align="8" label="${vehicle.position_speed[value]}" background_color="#00000000" osd_configuration="1" />
 +
        <osd x="-70"  y="-120" w="70"  h="77" enabled="yes" type="text" label="${tracking.item.route_speed[value]}" font_size="500" background_color="#00000000" osd_configuration="1" />
 +
        <osd x="-70"  y="-117" w="70"  h="70" enabled="yes" type="speed_warner" font_size="500" text-color="#FF0000" background_color="#00000000" osd_configuration="1" />
 +
        <!-- FIXME --><osd x="-317"  y="-155" w="157" h="112" enabled="yes" type="speed_cam" label="${camera_type}\n${distance}" announce_on="1" font_size="600" text_color="#FFFFFF" background_color="#FF0000FF" align="8"/>
 +
 
 +
        <!--- ZOOM -->
 +
        <osd x="-85" y="43" w="85"  h="85" type="button" src="/sdcard/navit/zoom_up.png" command="zoom_in()" osd_configuration="1"/>
 +
        <osd x="0" y="43" w="85"  h="85" type="button" src="/sdcard/navit/zoom_down.png" command="zoom_out()" osd_configuration="1"/>
 +
</pre>
 +
</code>
 +
|}
  
Navit package built on 03/03/09 is available here http://pawlowicz.name/splot/phd/navit_0.1.0%2bsvn-2075_armel.deb
+
<hr style="height: 10px; color:#AB4E3F; background-color:#AB4E3F;" />
  
You have to configure gpsd daemon before you start navit:
 
  
dpkg-reconfigure gpsd
+
===Keyboard===
 +
By default Navit uses the Internal keyboard for menu items which require text input from the user, such as POI search. To use your default Android keyboard instead, just press and hold your device's Menu button until the keyboard pops up.
  
and provide device /dev/smd27 and enable default start of gpsd daemon.
+
=== Launch via Google ===
 +
When you click on a place in Google Maps, you can choose to navigate to it with Navit (assuming that there isn't already a default navigation app set).
  
 +
=== Bookmarks file ===
 +
The ''bookmark.txt'' file is stored on the device at the location
 +
/data/data/org.navitproject.navit/share/bookmark.txt
  
Do not bother to contact me if you have any useful ideas in connection with navit on Android. --[[User:SergiuszPawlowicz|SergiuszPawlowicz]] 17:20, 16 April 2009 (CEST)
+
and each line in the file looks like
 +
mg:0x112233 0x445566 type=bookmark label="Home" path="Home"
  
===== Questions from users =====
+
In the default configuration, you will need root access on your device to be able to see this file. But if you move the app to your SD card it will be available at /sdcard/navit, where you may use any file explorer app or access it from a PC using USB Storage mode, via either USB cable or wifi connection, or even Bluetooth file transfer.
  
Q: Isn't more easy to port navit on android and not on debian?. --[[User:Hire|Hire]] I would agree, in an ideal world, but this is a good startI'd be more than happy to remove AndNav2 and install an open-source app. Well done SergiuszPawlowicz. --[[User:Chris debian|Chris debian]] 19:56, 27 April 2009 (CEST)
+
Another way without the need of SD card or root access is using the [http://developer.android.com/guide/developing/tools/adb.html Android Debug Bridge]. If you installed the [http://developer.android.com/sdk/index.html Android SDK] on your computer, the following command transfers the bookmark.txt file from your device to the current working directory:
 +
  adb pull /data/data/org.navitproject.navit/share/bookmark.txt
  
A: If it is easier for you, please provide me a link to your version :-) --[[User:SergiuszPawlowicz|SergiuszPawlowicz]] 17:20, 16 April 2009 (CEST)
+
It is also possible to transfer the changed file back to your device by using ''adb push''. See [http://developer.android.com/guide/developing/tools/adb.html#copyfiles] for a more detailed description of the adb client.
  
A: Is now possible, see above --[[User:Cp15|Cp15]] 09:50, 20 August 2009 (UTC)
+
There is another option, which doesn't need your Android device to be rooted, nor ADB. You just need to have SSHDroid installed. Start it and connect to it with ssh (on windows you can use putty) and then do a cd /data/data/org.navitproject.navit/share/ from the comfort of your keyboard equipped machine. You can then read the bookmarks.txt file (if need be just cat it to display, then copy/paste or whatever, and cat text back into it or what not). Note that you can also get to the right location with terminal apps, so there may be plenty of ways to actually get at this file without root and/or adb.
  
 +
=== Get the log for debugging problems ===
 +
There are two options here:
 +
* Install the [http://developer.android.com/sdk/index.html Android SDK], run ''adb logcat'' and save the output to a file
 +
* Install an app like [https://play.google.com/store/apps/details?id=com.xtralogic.android.logcollector Log Collector] and send the data via mail
  
Q: It would be very nice if Navit would use the android keybord for user input and would respekt the keys (especially the back-key) of android. --[[User:Cj|Cj]] 12:29, 16 August 2010 (UTC)
+
==See also==
 +
* [[Android development]]
  
 
[[Category:Ports]]
 
[[Category:Ports]]
 +
[[Category:Android]]

Latest revision as of 00:12, 15 October 2018

First run of Navit

Navit is available on Android! Using the Internal GUI, Navit enables complete offline routing anywhere in the world using map data from OpenStreetMap. Note that this is not an Android app in the traditional sense - it is a direct port of Navit (with a couple of extra features for Android), so isn't as integrated with Android as you may expect from other apps - bear this in mind when using it for the first time!

Installation[edit]

There are several ways of installing Navit to your Android devices:

Manually installing from an apk means that you have the very latest features built into Navit, but requires you to install and update it yourself

The following table links through to the nightly apk's. Choose the one which best matches your device. The nightly builds are compatible with devices running Froyo (2.2.X) or later.

Important Note[edit]

If your phone has internal and external storage, make sure to add /storage/sdcard# to your path directories. Otherwise navit won't be able to find them.



Compatible devices
ARM v5 ARMv5TE processors, covers most Android devices including: HTC Desire Z, Motorola Defy/Droid/Milestone, Samsung I7500 Galaxy, Samsung Galaxy S2, Samsung Galaxy Spica i5700, Samsung Galaxy S, SE Xperia X10, Xperia X8, LG Optimus Speed (P990)
ARM v4 ARMv4 processors. Devices which require this version include Neo Freerunner (running Android).


Compatible Android devices[edit]

The following tables list Android devices on which Navit has been tested. Please consider editing the table for your own device.

Device OS Status Tested on SVN revision
Allview P4 running fine ICS (market)
Archos 5 IT running fine 4383, 4395, 4411
Asus Memo pad ME173X Android 4.2.2 running fine 5851
Acer ICONIA TAB A500 running fine; after suspend GPS must be disabled and enabled again (market)
Geeksphone One RCMod 4.0.0 (Gingerbread) Exits on startup (following crash of PicoTTS) unless speech output is disabled, runs fine otherwise 4319
Geeksphone Zero RCMod 7.0.2 (Gingerbread) running fine (market)
Google/LG Nexus 4 Android 4.2.2 and Android 4.3 running fine, but not possible to change keyboard-layout to the stock-android software-keyboard 4785 (market), 5357-5365
Google/LG Nexus 5 Android 4.4 running fine, but not possible to change keyboard-layout to the stock-android software-keyboard; fonts to small 4785 (market), 5649, 5711
Google/Samsung Galaxy Nexus I9250 Android 4.2.2 and Android 4.3 running fine, but not possible to change keyboard-layout to the stock-android software-keyboard 4785 (market), 4909-5365
Google/Samsung Nexus S running fine after brief test (market)
Google/Samsung Nexus S RCMod 7.2.0 running fine 5187
Huawei Ideos (U8150-B) Android 2.2 Sometimes does not exit properly (restarts instead); intermittent issue where touchpal keyboard text is invisible while typing, it only shows after keyboard is dismissed; otherwise runs fine 6382
Huawei Ideos X3 (U8510) speech synthesis often incomplete 4696
Huawei M860 running fine 4281
HTC Desire CyanogenMod 7.2.0 DISCONTINUED - last version testet 5877
HTC Desire CyanogenMod 7.2.0 osd gps-status doesn't work - otherwise running fine, unless stated below
integration of "clever-tanken" (Germany only) testet and working since version 5642
5395-5877
HTC Desire Android 2.2.2 DISCONTINUED - last version testet 5395
HTC Desire Android 2.2.2 osd gps-status doesn't work - otherwise running fine, unless stated below 4200-5395
HTC Desire Android 2.2.2 android installer refuses to install the apk 5389-5392
HTC Desire Android 2.2.2 typing of adresses terminates after 1st letter 5296-5329
HTC Desire Android 2.2.2 display problems while browsing bookmarks 5279
HTC Desire Android 2.2.2 application freezes as soon as route is calculated 5219-5276
HTC Desire Android 2.2.2 crashes during application start 5208
HTC Desire Android 2.2.2 display remains black 5175-5179
HTC Desire Android 2.2.2 application crashes as soon as gps link is established 5149-5174
HTC Desire Android 2.2.2 modifications for osd navigation_next_turn in config file necessary 5078
HTC Desire Android 2.2.2 starts, icon appears in the upper left corner, application stops 4879-4992
HTC Desire HD (Ace) running fine (market)
HTC Desire S running fine 4281 (market)
HTC Desire Z running fine 4281 (market), 4785 (market), 4808
HTC Explorer A310e Android 2.3.5 running fine - but GPS status & texte: label="${vehicle.position_sats_used}/${vehicle.position_qual}" do not work - Route\Height Profile does not work too (black screen) 5126
HTC Hero Android 2.2, cronos running fine (saving bookmaks made it unusable) 4118
HTC Incredible S running fine 4281 (market)
HTC Magic Android 2.3.4 running fine 5224
HTC Sensation Android 4.0.3 running fine 4785 (market)
HTC Wildfire Android 2.2 running fine (theme changes are not saved) 4997
Intenso Tab 814 CyanogenMod 10.2 running fine, GPS with USB stick and usb2gps 5738
Lenovo IdeaTab A10-70 (A7600) Android 4.4.2 Latest version tested 6382
Lenovo IdeaTab A10-70 (A7600) Android 4.4.2 working perfectly 6255-6382
Lenovo IdeaTab A10-70 (A7600) Android 4.4.2 TTS mixes English and System language. Uses Englisch grammar 6093-6095
Lenovo IdeaTab A10-70 (A7600) Android 4.4.2 working perfectly 6084-6089
Lenovo IdeaTab A10-70 (A7600) Android 4.4.2 TTS mixes English and System language. "Turn links in 200 Metern" 6054-6080
Lenovo IdeaTab A10-70 (A7600) Android 4.4.2 working perfectly 5976-6050
LG G3 (D855) Android 5.1 (SlimLP) running fine 6135
LG Optimus GT540 running fine 4118, 4281 (Google market)
LG Optimus P500 One running fine current market build, 4383, 4446
Motorola Defy running fine 4281 (market), 4352, 4383
Motorola Milestone 2 running fine (market)
Motorola Xoom Android 3.2 running fine (market) → 0.5.0
Motorola Moto G 8GB Android 4.4.2 running fine F-DROID May2014
Neo Freerunner AoF Cupcake 0.2.0 cannot install, adb install returns [INSTALL_FAILED_OLDER_SDK]. Is Cupcake no longer supported? 4376
Neo Freerunner AoF-SD Froyo runs fine; GPS must be started manually 4548
Neo Freerunner AoF-SD Froyo starts, icon in left upper corner, application stops 4833
OnePlus One CyanogenMod 12.1 Latest version tested 6382
OnePlus One CyanogenMod 12.1 working perfectly 6382
OnePlus One CyanogenMod 11 DISCONTINUED - Latest version tested 6382
OnePlus One CyanogenMod 11 working perfectly 6255-6382
OnePlus One CyanogenMod 11 TTS mixes English and System language. Uses Englisch grammar 6093-6095
OnePlus One CyanogenMod 11 working perfectly 6084-6089
OnePlus One CyanogenMod 11 TTS mixes English and System language. "Turn links in 200 Metern" 6054-6080
OnePlus One CyanogenMod 11 local configuration file path $SDCARD/navit.xml is no longer supported
new location: $SDCARD/navit/navit.xml as documented
6050
OnePlus One CyanogenMod 11 working perfectly 5975-6045
OnePlus One CyanogenMod 11 osd gps-status doesn't work - otherwise running fine 5890-5952
OnePlus One CyanogenMod 11 upgrade from version 5878 failed - reinstall necessary 5889
OnePlus One CyanogenMod 11 osd gps-status doesn't work - otherwise running fine 5830-5878
Samsung GT-I5500 Android 2.1 update1 running fine 0.5.0-3828
Samsung Galaxy Gio GT-S5660 Android 2.2.1 Froyo running fine svn 4663
Samsung Galaxy Gio GT-S5660 Android 2.2.3 running fine svn 4785
Samsung Galaxy Gio GT-S5660 Android 2.3.6 running fine svn 4997
Samsung Galaxy Ace GT-S5830L Android 2.3.4 black screen then crash svn 5214
Samsung Galaxy S I9000 running fine svn 4183, 4229, 4510 - market 0.5.0-4281
Samsung Galaxy S2 I9100 running fine 4940
Samsung Galaxy S3 mini I8190 Android 4.1.2 working perfectly 6035
Samsung Galaxy S3 mini I8190 Android 4.1.2 osd gps-status doesn't work - otherwise running fine, unless stated otherwise 5400, 5419, 5422, 5559, 5640, 5742, 5771, 5772, 5878
Samsung Galaxy SIII GT-I9300 AOSP 4.2.2 running fine 5000+,
Samsung Galaxy S4 Android 4.2.2 running fine, tweaks needed to configuration to get the screen elements large enough 5543,
Samsung Galaxy Spica I5700 Samdroid mod running fine 4083
Samsung Galaxy Tab P1000 running fine 4183
Samsung Galaxy Tab S3 9.7" Android 8.0 running fine 6382
Skytex Skypad Alpha 2 (SX-SP715A) Android 4.0.3 device lacks GPS hardware, otherwise runs fine 6382
Xiaomi One Plus MIUI 2.3.5k running fine; GPS to start manually 0.5.0 4929
Xperia X8 running fine 0.5.0.4281
Xperia X10 running fine  ??
ZTE Blade Orange San Francisco running fine 4155

Useful information[edit]

In-app map downloading

Maps[edit]

There are two ways to get a map into Navit.

  1. Press your device's Menu button, and choose Download first map. Maps will be greater than 50MB, so it's best to turn on your wifi.
  2. Download a map from the Navit Map Extractor, connect your device to your pc, choose Select to copy files to/from your computer on the device and save the downloaded map as navitmap.bin into the navit folder on your device.

Advanced configuration[edit]

When Navit starts, a copy of /data/data/org.navitproject.navit/share/navit.xml matching your display resolution is extracted from the apk. If you have root permissions on your device, you can use this file as a starting point for a customized configuration. Otherwise unzip the apk file and use the xml file from the subdirectory res/raw/ which matches the display resolution (ldpi, mdpi or hdpi). You can save your configuration as /sdcard/navit/navit.xml which is then used instead of the one from the data directory.

  • If you'd like to configure the initial view of the map (it should automatically center on your position if the on-board GPS has a fix) change the <navit center=... attribute to your home coordinates.

Layouts[edit]

0606.at Android Layout[edit]

General[edit]

Description in german (HDPI and MDPI)

Features[edit]
  • automatic navigation and tracking mode:
    • tracking mode provides coordinates, altitude, current street
    • navigation mode shows current street, next street, distance left, time left, next street, distance to the next maneuver, route indicators, altitude
  • routing status: five icons show the current routing status.
  • switch landscape/portrait mode: at the moment navit does not support automatic switching between portrait and landscape mode. Therefore there are included a landscape and a portrait optimized layout. Both of them work at every screen orientation. They are switchable manually by clicking the Button (see Description below)
  • Optimized Menue (see Internal_GUI/Menu_configurations#0606.at Android GUI )
  • The layouts shown in the screenshots below use the Mapnik layout optimised for small screens, available on this wiki.
Screenshots[edit]

0606 osd screenshot portrait.png 0606 osd screenshot landscape.png

Description[edit]
Symbol Description
Symbol zoomin.png zoom in
0606 Gui strength 2 48 48.png GPS Accuracy (not the number of used satellites!)
0606 Osd routing no-dest.png route status: no destination set/unknown destination
0606 Osd routing dest-ok.png route info: destination ok
0606 Osd routing calc.png route info: calculate route
0606 Osd routing no-route.png route info: no route found
Osd routing routing.png route info: routing active
0606 Symbol format.png switch format landscape <-> portrait
0606 Symbol menue.png open menu
0606 Symbol route.png show whole route
0606 Symbol zoomout.png zoom out
Download[edit]

Package (including OSD, Layout, POI Symbols, navit.xml) for

  • MDPI (e.g. Galaxy II, screens with more than 800x480Px) download
  • HDPI (e.g. Galaxy Nexus, screens with more than 1280x720Px) download
Installation[edit]
  • get a recent version from Navit for Android
  • get the Package (see Download), which fits to your screen resolution, copy it as zip file on you phone and extract it there with a filemanager in the folder /sdcard/navit
  • Download a map from http://maps.navit-project.org/, rename it to navitmap.bin and put it into /sdcard/navit
  • Enjoy!
Bugs, ToDo[edit]
  • integrate odometer, compass and stopwatch
  • sometimes GPS Status and Routing information are displayed in the menu #1057
  • adjust "show whole route" section
  • adjust vehicle cursor
XML[edit]


HDPI Android Layout[edit]

AndroidAntenna2D.png   AndroidAntenna.png

Minimalistic Layout natively for Android phones. Landscape mode works too, but isn't that pretty.

Top[edit]

left to right:

  • Height
    1. of sats
  • speed
  • distance
  • time remaining
  • current routing status.
Routing status[edit]
  • blue: destination set
  • black: idle state
  • red: no route found
  • orange: calculating state1
  • yellow: calculating state2
  • green: routing
Buttons[edit]
  • F: show whole route and turn follow_cursor off
  • A: autozoom on/off
  • 3/2: 3:pitch 20, zoom 15, autozoom on, maprefresh set to 1 || 2: pitch 0, zoom 40, autzoom off, maprefresh set to 5
  • +
  • -
Bottom[edit]

left to right:

  • distance until turn
  • next maneouvre arrow
  • name of following street.


To do[edit]

Switching between follow=1 and follow=5 in the 3d/2d-button does not work and I don't know why.


Download and Installation[edit]

https://www.dropbox.com/s/olt02ds45wpsecd/androidLayoutAntenna.zip

Unzip the folder and put it in your /sdcard/navit folder. I recommend to install navit via F-Droid. Maps.xml allows you to easily add and remove maps. Cursor.xml only includes the cursor and mapnik.xml the map layout. I added the extra pngs, extract them to your navit folder if you want to (takes some time).

Layout by antenna

Android layout 800x480[edit]

NavitArch1.png

NavitArch2.png NavitArch3.png

Android layout designed for Archos 5 IT. It can be used in portrait and landscape mode. Files for layout are available here http://depositfiles.com/files/6y0mpbv2p [1] Place all files in /navit folder on your internal /sdcard

The item showing current speed (left-bottom) is clickable. It changes osd configuration.

Carspeed.png Compas.png Down.png Minus2.png Next.png Odom.png Plus2.png Poioff.png Trid.png Upp.png

An other android layout 800x480[edit]

AndroidLayout800x480 H.png AndroidLayout800x480 V.png

An android layout for 800x480 device. It can be used in portrait and landscape mode

Description :

  • On top, distance to destination and arrival time
  • On left bottom, next direction
  • On bottom : next street
  • On right bottom : speed en speed limit (with speed warning)
  • The radar warning appears on the left of speed (!!! UNTESTED !!!)

Download :



Keyboard[edit]

By default Navit uses the Internal keyboard for menu items which require text input from the user, such as POI search. To use your default Android keyboard instead, just press and hold your device's Menu button until the keyboard pops up.

Launch via Google[edit]

When you click on a place in Google Maps, you can choose to navigate to it with Navit (assuming that there isn't already a default navigation app set).

Bookmarks file[edit]

The bookmark.txt file is stored on the device at the location

/data/data/org.navitproject.navit/share/bookmark.txt

and each line in the file looks like

mg:0x112233 0x445566 type=bookmark label="Home" path="Home"

In the default configuration, you will need root access on your device to be able to see this file. But if you move the app to your SD card it will be available at /sdcard/navit, where you may use any file explorer app or access it from a PC using USB Storage mode, via either USB cable or wifi connection, or even Bluetooth file transfer.

Another way without the need of SD card or root access is using the Android Debug Bridge. If you installed the Android SDK on your computer, the following command transfers the bookmark.txt file from your device to the current working directory:

adb pull /data/data/org.navitproject.navit/share/bookmark.txt

It is also possible to transfer the changed file back to your device by using adb push. See [2] for a more detailed description of the adb client.

There is another option, which doesn't need your Android device to be rooted, nor ADB. You just need to have SSHDroid installed. Start it and connect to it with ssh (on windows you can use putty) and then do a cd /data/data/org.navitproject.navit/share/ from the comfort of your keyboard equipped machine. You can then read the bookmarks.txt file (if need be just cat it to display, then copy/paste or whatever, and cat text back into it or what not). Note that you can also get to the right location with terminal apps, so there may be plenty of ways to actually get at this file without root and/or adb.

Get the log for debugging problems[edit]

There are two options here:

  • Install the Android SDK, run adb logcat and save the output to a file
  • Install an app like Log Collector and send the data via mail

See also[edit]