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

Posted

技术标签:

【中文标题】Android SDK 下载缓存文件夹在哪里?【英文标题】:Where is Android SDK download cache folder? 【发布时间】:2018-04-30 22:40:54 【问题描述】:

这里的目标是将下载的android SDK包复制并粘贴到多台计算机并运行./sdkmanager 'xxx'以在本地安装它们(无法访问dl.google.com)。

我尝试了~/Library/Android/sdk/temp~/.android/tmp,但没有成功。

【问题讨论】:

我认为从内存中它们是本地保存在 SDK 中并在安装后删除的 zip 文件。 @JonGoodwin 是的,在我的记忆中它们位于~/Library/Android/sdk/temp~/.android/tmp,但显然它不再是了。 另一种方式。首先在android studio sdk中选择要下载的包,然后它会开始下载包,并会说从下载。复制该 URL 并手动下载。 @JonGoodwin 我已经下载了文件,其中一些无法解压并直接移动到sdk,它们需要经过安装过程。这就是为什么我需要将它们放在 temp 文件夹下,让 sdk 管理器自动安装。 你找到解决办法了吗,我也有同样的问题 【参考方案1】:

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

【讨论】:

在Windows上也是这样:%tmp%\PackageOperation0X【参考方案2】:

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)

提出解决方案的来源:

    See what process is using a file in Mac OS X 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是一个数字。这些包在解压到各自的目录后将被删除。

【讨论】:

以上是关于Android SDK 下载缓存文件夹在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 github 工作流中缓存 JDK 和 android sdk?

安卓手机优酷下载好的视频文件在哪里 ?

小米手机浏览器缓存文件在哪

Android 类似浏览器的实现,我在哪里缓存图像

Android sdk 文件损坏

Android 上的 Firestore 商店缓存在哪里?