Принудительно Google Maps для сохранения кэшированных карт на SD-карте

18

Я загружаю большое количество областей карты в Google Map для автономного использования. Похоже, что по умолчанию Google Map записывает свой кэш в относительно дефицитную внутреннюю память моего телефона. Есть ли способ заставить Google Maps вместо этого использовать SD-карту?

Я использую Google Maps 6.7.0 (последняя версия от мая 2012 года) на Android 2.3.3.

Тони Пони
источник
Удалось ли вам в конечном итоге решить эту проблему?
Джаггер

Ответы:

7

Обновите Карты 6.9.0 (выпущено 2012-06-27) или более поздней версии, если вы этого еще не сделали. Google добавил функцию, которую вы хотели:

Что в этой версии:
* Сохранить карты для использования в автономном режиме

Кроме того: кэшированные плитки для Google Maps сохраняются на SD-карту .

Чтобы также ответить на ваш точный вопрос (для пользователей, которые не могут выполнить обновление):

Воспользуйтесь предоставленным Android механизмом «move to sdcard» или установите для этого некоторые сторонние приложения (скрипты Link2SD, App2SD, однако большинству нужен собственный ROM).

Если все вышеперечисленное не вариант и вам нравится делать это вручную:

Предпосылки:

  • Корневой доступ
  • Знайте, какой каталог вы хотите переместить
  • Убедитесь, что каталог не содержит исполняемые файлы
  • Осведомленность : / sdcard / доступна для чтения всем, и многие приложения могут писать в нее.
    Возможно, вы не захотите предоставлять конфиденциальные данные другим приложениям
  • Убедитесь, что приложение не запущено.
  • Если что-то сломается, вы можете исправить это, очистив appdata
  • Приложение может сломаться, если SD-карта недоступна (например, телефон подключен к ПК)

О. Вам нужно найти имя пакета нужного вам приложения (просто измените шаги здесь , также перейдите на веб-сайт приложения Google Play и посмотрите имя пакета в URL браузера, для Карт это com.google.android. apps.maps').
Тогда расположение для внутренних данных приложения: / data / data / [PKG_NAME]

Б. Найдите большой подкаталог, который вы хотите переместить, используйте эмулятор терминала или доступ к оболочке adb, чтобы выполнить что-то подобное на устройстве:

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. Перемещение и символическая ссылка

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]

CE4
источник
У меня точно такая же проблема. Моя версия Google Maps - 6.14.2, однако приложение все еще пытается сохранить автономный контент во внутренней памяти. Проблема в том, что я не могу найти место, в котором я мог бы изменить это поведение. Есть идеи?
Джаггер
Вероятно, вам нужен root, чтобы найти папку с картами (если она внутренняя, а не на sdcard).
ce4
-2

Вы можете использовать Root Browser или ES File Explorer. Однако для доступа к корневому каталогу вам нужно рутованное устройство.

user38564
источник
1
Можете ли вы рассказать, как это решило бы проблему ОП? Конечно, вы можете перемещать файлы с помощью файлового менеджера (+ root), но Google Maps, вероятно, не будет знать, где искать.
eldarerathis