Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I am downloading a large number of map areas in Google Map for offline use. It appears that, by default, Google Map writes its cache to my phone's relatively scarce internal memory. Is there a way to force Google Maps to use SD card instead?

I am using Google Maps 6.7.0 (latest version as of May 2012) on Android 2.3.3.

share|improve this question
    
Were you able to solve this issue eventually? –  Jagger Dec 23 '12 at 14:56
add comment

2 Answers 2

Update to Maps 6.9.0 (released 2012-06-27) or later if you not already have done so. Google added the feature one you wanted:

What's in this version:
* Save maps for use offline

Besides this: Cached tiles for Google Maps are saved to the SD card.

To also answer your exact question (for users that cannot upgrade):

Use Android's provided 'move to sdcard' mechanism or install some 3rd party apps to do it (Link2SD, App2SD skripts, most need a custom rom however).

If all above is not an option and you like to do it manually:

Prerequisites:

  • Root access
  • Know which directory you want to move
  • Be sure that directory doesn't contain executables
  • Awareness: /sdcard/ is world-readable and many apps can write to it.
    You might not want to expose sensitive data to other apps
  • Be sure the app is not running.
  • If something breaks, you might fix it by clearing the appdata
  • The app might break if sdcard is not accessible (e.g. phone plugged into PC)

A. You need to find the package name of your desired app (just reverse the steps here, aka go to the Google Play website of the app and see the package name in the browser's URL, for Maps it's 'com.google.android.apps.maps').
The location for the app's internal data is then: /data/data/[PKG_NAME]

B. Find the big subdirectory that you want to move, use a terminal emulator or adb shell access to execute something like this on the device:

me@workstation:~$ adb shell
root@android:/ # cd /data/data/com.google.android.apps.maps
root@android:/data/data/com.google.android.apps.maps # du -sh *
8.5K app_sslcache
9.0K cache
55.0K databases
52.0K files
2.0K lib
2.5K shared_prefs

C. Move & symlink

mkdir -p /sdcard/Android/data/[PKG_NAME]/linked mv /data/data/[PKG_NAME]/[BIG_DIR] /sdcard/Android/data/[PKG_NAME]/linked/[BIG_DIR]
ln -s /sdcard/Android/data/[PKG_NAME]/linked/[BIG_DIR] /data/data/[PKG_NAME]/[BIG_DIR]

share|improve this answer
    
I am having exactly the same problem. My version of Google Maps is 6.14.2, however the app is still trying to save the offline content into the internal memory. The problem is that I cannot find the place in which I could change this behaviour. Any ideas? –  Jagger Dec 23 '12 at 14:54
    
You probably need root to find maps' folder (if it's app-internal and not on the sdcard). –  ce4 Dec 23 '12 at 15:16
add comment

You can use Root Browser or ES File Explorer. However, you need a rooted device to access root directory.

share|improve this answer
    
Can you elaborate on how this would solve the OP's problem? You could certainly move the files with a file explorer (+root), but Google Maps probably wouldn't know where to look. –  eldarerathis Jul 31 '13 at 14:33
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.