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中选择要下载的包,然后它会开始下载包,并会说从在 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 下载缓存文件夹在哪里?的主要内容,如果未能解决你的问题,请参考以下文章