First off: Credit is due. This website was VERY helpful in getting me started. There are links on that website, which will help you a lot with below. Please check them out.
http://androgeoid.com/2010/11/android-external-bluetooth-gps-apps-bluetooth-gps/
About OruxMaps.
a. It does an excellent job of bread-crumbs. At the end of your hike/ride/walk etc. you can simply email the .KMZ file of your breadcrumbs. VERY nice feature.
b. You can overlay hiking maps, as I did below, that eliminate need for cell service when using.
c. You can use external GPS unit, connected via bluetooth. Again, eliminating need for cell service, preserving battery life and increasing accurancy BIG TIME!
d. You can reverse your breadcrumbs, save for later etc.
e. One thing it does NOT do; you cannot create a route on desktop and save to phone for a trip. At least I don't know how to implement.
f. One thing it does NOT do; turn-by-turn directions when following a route.
As I use this entire setup for hiking, mountain biking, I have no need for turn-by-turn nor would I want it.
With that said, here is what I did:
Have a look at OruxMaps. I use that with Droid Razr Maxx with Ice-cream-sandwich running. I have the External GPS (connected via bluetooth) thus don't run down the battery with cell services GPS. In this setup, I do NOT NEED cell towers and I suppose I could be anywhere that has a view to equator where GPS satellites roam.
OruxMaps:
1. Take ANY paper map and scan it into a .JPG format.
2. Open Google Earth
3. Zoom into the area the JPG map covers.
4. Pull down "Image Overlay" and select that JPG file. In the properties of the JPG import, set the transparency to about middle. Just watch the effect this slider has on the map. You want the roads on your map to "bleed thru" so you can overlay them onto google.
5. Resize,move,rotate etc as needed so you align the roads on your JPG with the actual roads on Google. This will take a bit until you get used to the process. I found step 3 is the critical step. DO NOT import the JPG when you are zoomed WAY out. It will take forever to get your roads to even get close to aligned with google.
6. When you get the best alignment, hit "Save PLACE as" under file menu to save as KMZ file. You are 1/3 done.
7. I suspect you can put the KMZ file directly on OruxMaps (on phone) but I could not get that working. Probably something simple???
7. To keep going, you need to do a KMZ file conversion. I use "Map2cmapc" program for this. Search web to get and install.
8. In this program, pull down File - Open Calibration. Choose the above KMZ exported file. Screen will fill with info, good reading but very technical.
9. Click File - Write MAP and calibrations. NOTE: you can click the VIEW on top menu bar to see what you scanned in. You will notice the screen is filled with small red X. It cost $15 to remove those; paypal donation, to Map2cMapc folks.
10. Next step is to get the output of above into a format understood by OruxMaps. Download their free desktop tool. Note that its JAVA based and can be tricky to get running. Make sure you have latest version of Java. On my windows 7, x64, machine; here is the command that got mine working: java -Xmx1024m -jar OruxMapsDesktop.jar
This is the sole contents of the .BAT file that launches OruxMapsDesktop.
11. Open OruxMaps desktop. Click "Converter" tab.
12. Click on "Calibration file". Browse to the MAP file you created with Map2cmapc above. It will automatically populate the "Image File" and most boxes on screen. If not, your MAP file was not in same folder as the other related files.
13. Choose Destination Directory
14. Choose Map Name. This can be anything you want but keep in mind, this is what will appear on phone when you select an "offline" map.
15. Hit "Create Map".
16. NOW you are ready to put that map on phone.
17. Copy entire folder from step 13 to your SD card on phone (it needs to be plugged into USB). On my computer the phone shows up as drive M so I copy the files into: M:\oruxmaps\mapfiles
Thats it!
18. Disconnect USB
19. On phone, open Oruxmaps and click on OFFLINE maps. You should now see the Map Name you chose in step 14. Click on it and voila!
20. Navigate thru OruxMaps menus (there a many) and find the option for "External GPS". Click on that.
21. Oops, this step should be done earlier. Download "Bluetooth GPS" and install on your phone. That is needed to link the Bluetooth GPS device to your phone. I have the XGPS150a unit and its super easy to pair to phone in the "Bluetooth GPS" program. Once thats done, this GPS device will appear in the optional antennas in OruxMaps program.
This sounds like a lot, and it is the first few times, but after that it streamlines quick and you don't do this often anyway. As you might be curious, I am NOT affiliated in any way with any of these vendors. I am simply giving back as its hard to get all this info in 1 place.
Good luck, Tom