安装结束时(不同的 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)根据需要调整分区以充分利用新的空间。