强制Google Maps将缓存的地图保存在SD卡上


18

我正在Google地图中下载大量地图区域以供离线使用。默认情况下,Google Map似乎将其缓存写入手机相对稀缺的内部存储器中。有没有办法强迫Google Maps使用SD卡呢?

我正在Android 2.3.3上使用Google Maps 6.7.0(截至2012年5月的最新版本)。


您最终能够解决此问题吗?
贾格尔(Jagger)2012年

Answers:


7

更新至Maps 6.9.0(于2012-06-27发布)或更高版本(如果尚未更新)。Google添加了您想要的功能:

此版本中的内容:
*保存地图以供离线使用

除此之外:将Google Maps的缓存图块保存到SD卡中

也要回答您的确切问题(针对无法升级的用户):

使用Android提供的“移至sdcard”机制或安装一些第三方应用程序即可(Link2SD,App2SD脚本,但是大多数需要自定义rom)。

如果以上都不是一种选择,而您想手动进行:

先决条件:

  • 根访问权限
  • 知道要移动的目录
  • 确保该目录不包含可执行文件
  • 意识:/ sdcard /是世界可读的,许多应用程序都可以写入。
    您可能不想将敏感数据公开给其他应用
  • 确保该应用程序运行。
  • 如果出现问题,您可以通过清除应用程序数据来解决
  • 如果无法访问SD卡(例如,手机已插入PC),则该应用可能会中断

答:您需要找到所需应用程序的程序包名称(只需按照此处相反的步骤操作,也可以转到该应用程序的Google Play网站,并在浏览器的URL中查看程序包名称,对于Maps而言,其名称为'com.google.android。 apps.maps”)。
该应用程序内部数据的位置为:/ data / data / [PKG_NAME]

B.找到您要移动的子目录,使用终端仿真器或adb shell访问在设备上执行以下操作:

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]


我有完全一样的问题。我的Google Maps版本是6.14.2,但是该应用仍在尝试将离线内容保存到内部存储器中。问题是我找不到可以更改此行为的地方。有任何想法吗?
贾格尔

您可能需要root才能找到地图的文件夹(如果它在应用程序内部而不在sdcard上)。
ce4 2012年

-2

您可以使用Root Browser或ES File Explorer。但是,您需要有根设备才能访问根目录。


1
您能否详细说明这将如何解决OP的问题?您当然可以使用文件资源管理器(+ root)移动文件,但是Google Maps可能不知道在哪里查找。
eldarerathis
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.