yashsingh1/xdaforums huggingface dataset:
[G1 Android Development] Kurius:
i did uninstall using adb uninstall and also rm /system/app/*Maps* etc

when i got to install i gave error about certificate on one phone and invalid update on another... but all working fine now anyway :D
[G1 Android Development] MontAlbert:
all worked perfectly for me :D

this is a 32A Magic in Australia..... too easy thanks heaps for this!
[G1 Android Development] stolen_pillow:
thanks!

many, many thanks for this.
[G1 Android Development] stolen_pillow:
one more thing

I'm running CM 4.2.5 and did things a little differently. For some reason I couldn't get adb permission so I just installed the root version using Linda File Manager. It just replaced the original maps app and all is well so far. Might be a little easier this way for some people. Thanks again.
[G1 Android Development] f2:
This works for me too!

CM 4.2.5 on a G1 in Germany!

Used this version: http://drop.io/rxbqaw4/asset/maps-no-root-aligned-apk

Thank you very much guys!!
[G1 Android Development] zoeman:
i have a samsung moment and i tried it and it didnt work...
[G1 Android Development] elzee:
Yep .. I simply placed the apk file in my tools folder (where adb resides ) then

in command, typed; adb install -r Maps-rooted-aligned.apk

Worked a treat. Now I simply choose my Aussie location in maps and select navigate, without the need for a shortcut! :)
[G1 Android Development] trio151:
Im running enomthers TheOfficial TMO US Latest Rom on my Rogers Dream in Canada and followed the directions and they all great. Thanks for getting this working guys
[G1 Android Development] myshyak:
I doubt but I think Samsung moment do not have Donut, just cupcake...

Or you have some other rom?
[G1 Android Development] woon.moon:
Great !

I followed the steps in post #1 and everything went smooth.

Now navigation is fully working on my HTC magic sfr/vodafone 32B in France on enomther's latest donut aosp (eclair themed).

Thank you very much to all involved. :)
[G1 Android Development] jezzaaaa:
CC, I tried to install Nav Launcher from the market, after uninstalling first (removing all *NavLauncher* files). But after downloading I get an error saying "Incompatible Update". Perhaps if I knew how to manually download it, I could install using "adb".
[G1 Android Development] sleepymatt:
Holy mother of god this works!

Rogers Magic 32A Cyan 4.2.5 used adb works flawlessly!

I'm so happy I found you guys :)!
[G1 Android Development] robbiekhan:
All working perfectly here following updated #1 post :D

Vodafone UK Magic (32B)
[G1 Android Development] rac2030:
Just for your information about my NavStarter (http://www.2030.tk/link/navstarter)

I added History entries to Suggestions in the searchbar with v.0.6.2
[G1 Android Development] mmace:
Help needed!

I had it working on Thursday/Friday for testing on short journeys.

I wen to use it today for a longer one and it kept putting me in California, USA and never locked a GPS signal, even after many restarts. If I went just into maps it pin pointed me with GPS but going into Navigation from a desktop shortcut didn't work!

Any ideas?

I have a G1 with cyanogens latest ROM

EDIT: now I'm home and not moving it pin points me!

GRRR
[G1 Android Development] canadiancow:
I don't really know what the problem could be. What version of Nav Launcher did you have before?
[G1 Android Development] rac2030:
Just for your information about my NavStarter (http://www.2030.tk/link/navstarter)

I added contact entries to suggestions in the searchbar with v.0.6.3

The contact suggestion will start after 2nd letter is entered

If you have suggestions for improvements or bug reports, you can enter them at http://code.google.com/p/andrac/issues/list and justenter "NavStarter" as a label on the issue.
[G1 Android Development] WebghostDK:
Congratulations!!

Confirmed: This solution makes Google Navigation work in denmark :D!! Will give it a shot tomorrow in the car
[G1 Android Development] migalito:
Great job for all you guys. This is awesome.

Just followed the steps in first post to install Maps in my girlfriend unrooted G1 (1.6 stock ROM) and works fine (I'm in Portugal).

But while in my G1 with CyanogenMod 4.2.5 I have to use a shortcut or Nav Launcher/ Nav Starter (I used the old method and Maps.apk) in my girlfriend G1 this seems not to work. Only works selecting in directions on Maps. Not complaining at all, just to let you know ;)
[G1 Android Development] jezzaaaa:
All good now.

I used the first, then second release (v1.0) you put on links from this website.

I just now tried again after first re-installing v1.0, and as expected I got "Package file was not signed correctly." So I uninstalled, this time from settings->applications (last time I did "adb shell find / -name \*NavLauncher\* | xargs rm") and it's all working now.

Love the voice dial. Thanks.
[G1 Android Development] jezzaaaa:
Nice work Rac. I like the contacts suggestions in the search bar.

It would be good to have the same sort of thing for addresses too, the same as "maps" does, so that if I have a contact at "21 Smith St" and I type "Smith" or "21" it lists the contacts that match.

Oh, and kudos for making your source code available - very helpful for budding Android coders like myself.
[G1 Android Development] raymar23:
Wow This is AWESOME

Wow i cant believe how fast this all came together, big shout out to everyone who help put all these ideas together, Now this is what i call community.

EDIT: Working in Canada on 32A Rogers
[G1 Android Development] canadiancow:
Does anyone have a direct download link for the modified Maps apk's?

I want to modify Nav Launcher to automatically download and install it for you, if necessary, but I need direct links.
[G1 Android Development] squbel:
Will it still be ok with Google Market rules then? I mean it's a great idea but Google might not like it that much.
[G1 Android Development] jb0072009:
Unfortunately this does not work in Vietnam. Maps show up but the navigation does not find a route. Not surprising since Google maps on the web will not give routes in Vietnam either. Anyone know a Navigation program for the G1 that does work in Vietnam?
[G1 Android Development] canadiancow:
I can't really see a rule it violates. I wouldn't be distributing the Maps application, I'd just be linking to it (which is why I'm looking for a direct download mirror).

If you know of a rule this could violate, please inform me. I definitely don't want to do anything that would get the app pulled.

So far, what I've done is have it launch a browser to an apk file, so it downloads, and then you can easily install it from that screen.

I'm working on extra functionality for rooted phones, like removing the existing application.
[G1 Android Development] OzJD:
I'm in Australia, Had no issues using My Location as start point, nor any other issues ;\

Should also note that I'm using Google ION firmware (rooted) + 1.33.2005 SPL
[G1 Android Development] sWiftyious:
Can someone upload the non-rooted maps.apk to another location? the download at the dropbox has reached the downloadlimit.

thx
[G1 Android Development] lesjaw:
I have issue, after opening music gmaps always fc..but if i open gmaps from nav app no fc..fc happen only if i open gmaps directly..tried flashing three times, the problem still exist..
[G1 Android Development] cjesse:
Awesome! it works in China.
[G1 Android Development] rac2030:
Good idea... will add a query for this, would you mind to fill a request on http://code.google.com/p/andrac/issues/entry?template=NavStart-Enhancement just for tracking and idea purpose ;-)

As I'm just beginner coding for Android I love the opensource of quite alot of little applications that I can browse trough and see how they do it and this code is my contribution to it ;-)

If you browse trough my source you will see Link references for source and a lot of similarities with the Platform examples of teh SDK.

If you link to "Warez" (basically maps.apk is not free for distribution) you possibly violate Market rules but anyway you don't have to violate this rules that they take it down, see MarketEnabler, it just got removed without reason from them but it doesn't violate any Market rules, it just changes some local variables on the phone that happen to be the source of where the Market app gets authorization on Paid apps ;-)

But anyway I like the idea of you, maybe you don't make a built in function... make a seperate app (without icon) that can be triggered by a intent that does all that stuff...
[G1 Android Development] ivarmedi:
Works like a charm in Sweden on my "Vodafone Magic" 32B. Thanks!!
[G1 Android Development] sleepymatt:
How do I uninstall and reinstall Nav? I'm running 4.2.5 and installed Community Hero Mix Theme and Nav stopped working after reboot. I have a nandroid backup which I can resort to, but I would like to try reinstalling Nav. So question is, how do i uninstall and reinstall Nav?

Thanks!
[G1 Android Development] mmace:
cannot see any "protected" apps, even ones I've paid for since doing this!

anyone any idea why it kept putting me in California (USA) when I was in Leeds (UK)? - http://xdaforums.com/showpost.php?p=5001011&postcount=357
[G1 Android Development] rac2030:
Just Install maps.apk the same way you did the first time.

The Theme update you installed probably had a Themed version of maps.apk in it and has overwritten the patched one
[G1 Android Development] lesjaw:
anyone experience this?

have tried clear cache, rebooting..

i'm on cyanogen 4.2.5 with Android 2.0 Eclair theme...
[G1 Android Development] phlo:
Could anybody please provide a alternative download link for non-root apk?

the one in the first post is not working anymore (1000 download limit reached)

thx

phlo
[G1 Android Development] WebghostDK:
Ok i have tested this since the morning now.

This is what i experienced:

Everything works, even when you plan routes directly in Maps.

But... it only works when you are at the same position as when you planed your route.

This morning i opened maps on my way to school, worked fine.

Then i started to go follow the navogation, and my current gps position moved, fc fc fc fc :(
[G1 Android Development] skorianez:
I can´t download, has any one have a alternate site for download?
[G1 Android Development] amppa:
I had the same thing. I muted the voice and the navigation didn't force close anymore. My navigation is in Finnish but there is no Finnish voice. The problem might be in there, I think.
[G1 Android Development] Kurius:
http://www.mediafire.com/?knbqmexnznz
[G1 Android Development] xdowner18:
Maybe google check the location with the gps coordinates. If they allow only a gps range In that case we can do nothing right?
[G1 Android Development] jezzaaaa:
The mangle table is used for altering packets, but requires implementation of the specifics by iptables modules. For example, the type of service, or TOS, module can change a packet's IPv4 TOS field. But someone had to go and write the TOS module for it to be able to do anything.

Having said that, we can possibly use iptables to redirect the packets to a transparent proxy running somewhere, perhaps on the phone. The proxy can then fudge the requests to Google so they look like regular map browser access rather than the "driveabout" Maps android application. If the requests are being filtered at the Google end, then we would need to pretend to be something else to avoid getting filtered.
[G1 Android Development] canadiancow:
The emulator can be configured to use a proxy very easily, which is what I'm doing.

I just don't have much experience with Squid (as it seems like the best option for what I need), and my development environment seems to be a little screwed up.

I'll make a new virtual machine later today, and try again.
[G1 Android Development] jezzaaaa:
Did you:

a) install Google Voice?

b) try to navigate within the US?

c) try creating a desktop shortcut to a "Directions" target and turn on navigation?
[G1 Android Development] philicibine:
Modifying the app is a good idea.. but....

Silly question but......

Won`t this get google`s backs up??!!!

Has anyone got any idea of when navigation will roll out to the rest of us??

If I were working for google, i`d be wanting to rush the process along rather than have an app thats cost lots of money to develop, be tinkered with!

Come on google! Whats the time frame?!
[G1 Android Development] canadiancow:
To avoid this thread become impossible to navigate, could we try to keep it on-topic?

Questions about getting Navigation working on your device should be posted in http://xdaforums.com/showthread.php?t=582656

philicibine, while I'm sure we would all prefer if Google would hurry up, there is nothing that I, personally, can do, to make Google work faster. However, I can try to get the existing application to work, and that is what I am attempting.
[G1 Android Development] Skythe:
a) Nope, kinda stopped paying attention to the other thread before the Google Voice stuff came up. I did have it installed a while ago for a very short period, but since it's not out in Australia yet it doesn't matter. (Unless you mean voice data, which i installed yesterday to play with TTS). What do i need to do this for?

b) Yep. No luck between two destinations.

c) Nope. I'll try now.

Edit: Just tried, no luck. Created a shortcut to San Francisco, it prompted me for a location so i said Detroit.. no Navigate.
[G1 Android Development] infernix:
We need a dump from a droid to compare the data, otherwise we're just guessing. Or possibly just a dump from a G1 that navigates in the US.

But to be honest, I looked at a wireshark dump myself and it seems to me that the application decides whether it can navigate or not. Either that or there's a flag embedded into the map data that's received. It's not trying to authorize to some other server or anything.
[G1 Android Development] canadiancow:
I have a dump from a successful navigation (this is where the emulator is very useful), and the data it received was significantly larger going from Las Vegas to San Francisco than it was going from Ottawa to San Francisco.
[G1 Android Development] canadiancow:
Except that the only difference between Navigation and regular "driving directions" seems to be what the app calls itself when it talks to the server, as I explained in my first post. So if we can get the app to call itself "GMM" instead of "DriveAbout", then it might work.
[G1 Android Development] jezzaaaa:
Didn't work. And I think it's not quite as simple as DriveAbout -> GMM. As these differences indicate:

Navigation:

POST goes to /glm/mmap/a

Host: header is www.google.com

Directions:

POST goes to /glm/mmap

Host: header is mobilemaps.clients.google.com

Also note that mostly the user agent is "null (sapphire DRC92); gzip" but on one occasion it changed to "GMM/3.0 (sapphire DRC92); gzip".

Finally, the strings "DriveAbout" and "GMM" are embedded in some sort of binary blob, and each string is prefixed by its length. So "\012DriveAbout" and "\003GMM". I even took adjusted the content length, to no avail.

Could be that I'm looking at completely different transactions. Now that my proxy rig up and running, I need to slow down and be a bit more methodical.
[G1 Android Development] rac2030:
What about using the queue options from iptables (NFQUEUE)?

Then someone would just have to write the callback function (see http://linux.die.net/man/3/libipq) that modifies the packet (replaces the string) and does the admin stuff like recalculation md5 and ....

Maybe this howto is of use for any interested coder ;-)
[G1 Android Development] jezzaaaa:
Pushing this into userspace looks appealing.

I suspect it's a similar amount of work to writing any other extension/plug-in to iptables. There are plenty of guides and open-source examples to use, but much of the work would be in getting a toolchain to build kernel modules and libraries for the Android platform. Need to check that stock Android has the libipq library, otherwise we'd need to build and install it. This is all probably relatively easy, but my current lack of dev knowledge is making it seem harder. But don't let that stop us.

So the plan would be to have a script run when networking comes up, applies an iptables rule that matches outgoing port 80 packets, and pushes them to a userspace queue. We also write an app, need not run as root, which might make installation easier. The app gets packets from the queue, looks for packets going to google domains (in host header), looks for packets containing DriveAbout in the body, changes this to GMM (and likely some other fix-ups that we find along the way), re-calculates the checksum, and sends the packet on its way.
[G1 Android Development] canadiancow:
Have we confirmed that changing "DriveAbout" to "GMM" will work? I didn't want to start modifying a real device until it was working in an emulator. The emulator lets you bypass everything you mentioned about iptables, because you can start it with the -http-proxy option.
[G1 Android Development] vekexasia:
Hi there...

I m interested a lot in these pages.

Since i reversed the market application doing marketEnabler (The one which enable outside US people to buy apps from the market ) i could probably help..

As far i can remember the encoded data sent by marketEnabler was encoded with some kind of base64 encoding ..

It was a little modified but you can make a test with the simple base64 decoder routine and see if something changes..

Furthermore i think google did the client-side check because they knew someone will started working on hacking this .. ( Doing for marketEnabler was so simple )...

Fur the reasons above i do think there are no server side checks.

Hope this helps :)
[G1 Android Development] canadiancow:
A client-side check is almost always easier to circumvent than a server-side check. If it's client-side, then we're looking in the wrong place, and this will probably be a lot easier.
[G1 Android Development] vekexasia:
have you tried to base64Decode the wireshark stream?
[G1 Android Development] canadiancow:
It's not in base64.
[G1 Android Development] rac2030:
could you attach a sample packet?

I don't have the time to do the emulator stuff but I'm maybe able to help with decoding a bit...

@Vekexasia: nice that you joined this thread ;-)
[G1 Android Development] sasa3791:
im wondering why i cant use marketEnabler in 1.6 donut
[G1 Android Development] vladyman:
maps-root-aligned.apk out of downloads

This is great news indeed!

Does anyone have the maps-root-aligned.apk or would be kind to upload it somewhere? The link posted here is also out of downloads.

Thanks!
[G1 Android Development] Kurius:
http://www.mediafire.com/?tgyjmhyozmn
[G1 Android Development] vladyman:
Thanks, Kurius!
[G1 Android Development] WebghostDK:
Just restarted my phone, now it doesn't work at all :s
[G1 Android Development] greglord:
had anyone created a shell script for rooted phone if ADB is not present on computer for this part:

adb remount
adb shell rm /system/sd/app/*Maps*
adb shell rm /system/sd/app/*maps*
adb shell rm /system/sd/dalvik-cache/*Maps*
adb shell rm /system/sd/dalvik-cache/*maps*
adb shell rm /data/app/*Maps*
adb shell rm /data/app/*maps*
adb shell rm /data/dalvik-cache/*Maps*
adb shell rm /data/dalvik-cache/*maps*
adb shell rm /system/app/*Maps*
adb shell rm /system/app/*maps*
adb uninstall com.google.android.apps.maps
[G1 Android Development] taz2781:
This has worked like a charm.... I'm in Puerto Rico and it's work perfectly.
[G1 Android Development] canadiancow:
That's because you have the second modded version of Google Maps :p
[G1 Android Development] revwillie:
Google maps 3.2.1 just showed up in the market. Is this the same as the Droid version?
[G1 Android Development] canadiancow:
It's an update that allows Navigation to be used on 1.6 devices. However, it is not (yet) modified to work outside the USA.
[G1 Android Development] bufodill:
since the original files are not avaliable for download, I tried installing the no-root from the mirror, even though I've got root.

It installed, but when I try to search for a location, it force closes.

Would be nice with a mirror for the rooted.

Love your efforts though, would truly appreciate it if I can get it working here in Denmark
[G1 Android Development] canadiancow:
The no-root apk requires your original Maps application to be installed. The no-root version is com.google.android.apps.m4ps, but it has a lot of references to com.google.android.maps.apps.
[G1 Android Development] t3mp3st:
Just to clarify my confusion here:

I got the Navigation functionality working on my device with the methods outlined in the first 8 pages of this thread. Me being in Canada however, I was not able to use the navigation to my benefit. I see that it is now working outside the US, but I'm a bit lost as to what I have to do to get it working here.

So, since I have it working, do I just need to get the Speech Synthesis Data and Nav Launcher files installed and away I go? Or, do I need to reinstall the maps app with something new in order to get everything working?

Sorry if this was unclear, and thanks for any clarification that can be offered.
[G1 Android Development] canadiancow:
The very first post should get it working for you. However, we are in need of some mirrors for the apk files.
[G1 Android Development] HorusUK:
v3.2.1 is now available in the market. I can't get it because I'm in the UK. Anyone?

Many thanks in advance.
[G1 Android Development] t3mp3st:
Thanks! Can the uninstall be done in Terminal directly on my phone? Don't have access to ADB at the moment.. If so, are the commands radically different?
[G1 Android Development] Kurius:
i have posted a both files on mediafire a page back

Edit:

non-root http://xdaforums.com/showpost.php?p=5007006&postcount=383

root http://xdaforums.com/showpost.php?p=5007089&postcount=385
[G1 Android Development] FoleyIsGood:
Alternative download

the Drop.io source for the maps-root-aligned-apk has reached it's download limit - has anyone got an alternative?

Thanks
[G1 Android Development] tasomaniac:
Does this work on Hero which has Android 1.5?
[G1 Android Development] Kurius:
No its is working for 1.6+ only
[G1 Android Development] mario999:
Hi, is the non root method working on the newest google maps 3.2.1?
[G1 Android Development] Brut.all:
They have applied TAPP's patches! ;-D No more maps_enable_navigation flag patching. But we must still apply my to get it to work outside USA.

There are a few changes from 3.2.0. Looks like bug fixes mostly.
[G1 Android Development] mario999:
Does that mean I need to root and clean to get the version working outside the US?

Just tried the no root method. Doesnt work on 3.2.1. starts the app but says 'navigation not available to your destination.'
[G1 Android Development] 3Shirts:
Followed the steps, have Google Nav in the UK. Simple as that! Awesome work guys
[G1 Android Development] Morest:
I've the "INSTALL_FAILED_UPDATE_INCOMPATIBLE" error after updating maps from market.

I've followed these instructions and everything is working now

You can edit the file from terminal with nano

I've to delete <updated-package>****</updated-package> tag.
[G1 Android Development] raven2000:
Does this mean you can't use the same technique to patch this official release? If so, hopefully your patched maps continues to work for us
[G1 Android Development] jezzaaaa:
Greglord

I'm not sure about what the "uninstall" does (perhaps also removes the app from packages.xml). But the rest of it can be done with this:

mount -oremount,rw /system
find /system /data -name \*google\*maps.apk\* -o -name Maps.apk | xargs rm

Or, if you wanted to do the same using adb:

adb shell mount -oremount,rw /system "&&" find /system /data -name \*google\*maps.apk\* -o -name Maps.apk "|" xargs rm

(The "&&" means don't do the find command unless the mount command succeeds; the quotes around "&&" and "|" make sure that these strings are not interpreted by the CMD shell.)

Note that the advertised (on the first post) way of removing *maps* from various places also removes other maps applications, such as "RMaps", which is sub-optimal. The above "find ... | xargs rm" method is careful to only remove instances of the Google Maps application.