无法安装 Android SDK 平台。Ubuntu 16.04

无法安装 Android SDK 平台。Ubuntu 16.04

安装结束时(不同的 Android API)会出现安装完成但出现错误的消息。我尝试使用默认位置(.../Android/Sdk)并进行更改 - 没有任何区别。日志:

它似乎认为设备上没有剩余空间:

2018-06-20 22:33:05,075 [d thread 2]   WARN - ectedPackagesStep$CustomLogger - An error occurred while preparing SDK package Google APIs: No space left on device. 

/tmp 目录只有 4GB,这里存在问题。

我尝试使用TMPDIR=/home/rs/Downloads ./studio.sh ,但在下载中没有看到任何内容,并且/tmp已 100% 使用。

我可以逐个下载小图像(例如 4.0.3)然后重新启动。

但是上次我没有看到/tmp:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3,6G     0  3,6G   0% /dev
tmpfs           743M  9,5M  734M   2% /run
/dev/sda3        14G  7,2G  6,1G  55% /
tmpfs           3,7G   55M  3,6G   2% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           3,7G     0  3,7G   0% /sys/fs/cgroup
/dev/sda4       279G   11G  254G   4% /home
/dev/sda1       188M  3,4M  184M   2% /boot/efi
tmpfs           743M   48K  743M   1% /run/user/1000

$ mount | grep tmp
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3742072k,nr_inodes=935518,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=760336k,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=760336k,mode=700,uid=1000,gid=1000)

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=7733e159-e4e2-405b-b75b-52a4cca7c90c /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=902E-7BE8  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/sda4 during installation
UUID=edd2b68c-8e92-45d7-9261-9ca3ddf2f7de /home           ext4    defaults        0       2
# swap was on /dev/sda2 during installation
UUID=0d00f89e-3af0-4b46-ae0c-dcdbb82fcedb none            swap    sw              0       0

答案1

如果正如你所说,你遇到的唯一问题是过度填充/tmp,并且你的存储设备上有足够的空间,如输出所示,那么df -h可以合理地假设它/tmp不是使用你的硬盘进行存储,而是可能正在使用 RAM这在某些时候可能看起来像是一个好主意,但后来可能会带来限制,就像你现在所经历的那样。

在我的 16.04 系统上我得到

$ df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       106G   11G   90G  11% /

但即使这样也太严格了,所以即使我在这里展示的 90GB 也不够。根据https://source.android.com/setup/build/requirements你需要

至少 100GB 的可用磁盘空间用于签出代码,另外还有 150GB 的空间用于构建代码。如果您进行多次构建,则需要更多空间。

虽然您的系统在 /home 分区上有足够的空间,但 / (/dev/sda3) 分区上肯定受到一些限制。

/dev/sda3 14G 7,2G 6,1G 55% /

如果你有更大容量的硬盘,你可能会受益于调整分区大小。实际上,/dev/sda4您的主目录所在的位置会缩小,而未在其他地方安装的/dev/sda3所有内容所在的位置会增大/。另一种选择是安装/tmp到具有更多空间的特定位置,在这种情况下这篇相关文章会很有用。但是,就您的具体情况而言,由于可用空间有限,您不太可能取得很大进展。我会做以下事情。

1)确保我的系统满足所有要求

2)获得一个新的容量更大的存储设备。

3)将现有系统从旧驱动器克隆到新驱动器

4)根据需要调整分区以充分利用新的空间。

相关内容