此处的目标是将下载的Android SDK包复制并粘贴到多台计算机上,然后运行./sdkmanager 'xxx'
在本地安装(无法访问dl.google.com)。
我试了~/Library/Android/sdk/temp
和~/.android/tmp
而没有运气。
答案 0 :(得分:0)
在Linux上,它位于/tmp/PackageOperationX
中,其中X是数字。
答案 1 :(得分:0)
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)
提供解决方案的来源:
已下载软件包的临时存储位置为$HOME/Library/Android/sdk/.downloadIntermediates
,并将移动到$HOME/Library/Android/sdk/.temp/PackageOperation0X
进行提取操作,其中X是数字。这些程序包解压缩到各自的目录后将被删除。