Android SDK下载缓存文件夹在哪里?

时间:2017-11-17 07:57:16

标签: android macos android-sdk-manager

此处的目标是将下载的Android SDK包复制并粘贴到多台计算机上,然后运行./sdkmanager 'xxx'在本地安装(无法访问dl.google.com)。

我试了~/Library/Android/sdk/temp~/.android/tmp而没有运气。

2 个答案:

答案 0 :(得分:0)

在Linux上,它位于/tmp/PackageOperationX中,其中X是数字。

答案 1 :(得分:0)

MacOS

命令行sdkmanager

当普通专业用户无法理解此命令行工具和MacOS的开发人员如何做出此决定,并且仍未在文档中通知其用户时,临时文件将下载到/private/var/folders/

例如,要查找sdkmanager正在下载软件包system-images;android-29;google_apis;x86_64时的文件,其压缩文件名为“ x86_64-29_r11.zip”:

lsof | grep x86_64-29_r11.zip

## output
java      5422 username   35w      REG                1,7 408368096            19062984 /private/var/folders/t7/z9lknwrd31q55t9m7s4qhm140000gp/T/PackageOperation02/x86_64-29_r11.zip

使用find也可以,但是如果您搜索/会花费更长的时间,因此可以直接尝试/private

sudo find / -name "*x86_64-29_r11.zip*" 2> >(grep -v 'Operation not permitted' >&2)

sudo find /private -name "*x86_64-29_r11.zip*" 2> >(grep -v 'Operation not permitted' >&2)

提供解决方案的来源:

  1. See what process is using a file in Mac OS X
  2. How can I exclude all "permission denied" messages from "find"?

Android Studio SDK管理器

已下载软件包的临时存储位置为$HOME/Library/Android/sdk/.downloadIntermediates,并将移动到$HOME/Library/Android/sdk/.temp/PackageOperation0X进行提取操作,其中X是数字。这些程序包解压缩到各自的目录后将被删除。