java.io.ioexception:无法下载设备上没有剩余的空间



我正在尝试在Android Studio上下载Android系统图像,以模仿应用程序。问题是Android Studio无法下载系统图像。看完日志后,我的设备上没有剩余的空间,但笔记本电脑上还剩下960GB。

确切的错误消息是

2017-11-28 20:32:13,136 [d thread 8]   INFO - s.RepoProgressIndicatorAdapter - Downloading https://dl.google.com/android/repository/extras/intel/addon2-1.xml   
2017-11-28 20:32:13,238 [d thread 8]   WARN - s.RepoProgressIndicatorAdapter - java.io.IOException: Cannot download 'https://dl.google.com/android/repository/extras/intel/addon2-1.xml': No space left on device, response: 200 OK

另一个重要的信息是我的笔记本电脑运行Solus Linux。

这是一个非常常见的错误。您的系统用作缓存的临时文件夹已满。现在,在每个重启时都清洁了TMP。但是,Android Studio使用了很多空间。在下面,我介绍您的选择。

如何找出/tmp是否有问题?

在终端上,类型:

df -h | grep -e 'Filesystem' -e '/tmp'

在输出时,查看"使用%"列。如果百分比很高,则您的TMP空间不足。如果您进行了很多编译或安装,这也将是以后的问题。

您有三个选择,

  1. 使Android Studio使用另一个临时文件夹
  2. 增加/tmp 大小暂时完成更新或编译
  3. 始终增加/tmp 。通常一个操作系统将/TMP文件夹设置为公羊的大小一半。我假设/tmp 不是独立的分区。

选项1。找出安装Android Studio的位置,然后修改studio.sh文件以传递变量。当Android Studio启动时,ENV变量告诉Android Manager使用指定的临时文件夹。

步骤1。查找安装Android Studio的位置。通常在/opt/android-studio 文件夹中。为了使生活变得简单,以下内容将包含带有模式" Android -studio/bin"的文件夹目录。

DROID_BIN=$(whereis -l android-studio | grep 'android-studio/bin' | awk -F'bin: ' '{print $2}')

步骤2。通常,这是/Opt/android-manager/bin/studio.sh

sudo vim $DROID_BIN/studio.sh

步骤3。复制并在Studio.sh的开头粘贴以下几行。如果您在以后的日期中查看,我添加了评论以提醒您。

在VIM上按 [i] 进行编辑。用 [ctrl] [c] 从浏览器复制,并用[ ctrl] [shift] [v] 键粘贴到vim中。

# _JAVA_OPTIONS was added to replace /tmp folder because it runs out of
# space and causes failure with android studio updates.
export _JAVA_OPTIONS=-Djava.io.tmpdir=/shared/tmp

通过按下 [ESC] 然后键入":wq"

来保存和退出

启动Android Studio,然后再次尝试更新。这次,更新应该成功。

对于选项2&3 检查/TMP,并确保它不是单独的分区。

 df -h | grep -e 'Filesystem' -e '/tmp'

在输出上,查看文件系统列。如果该文件系统显示后斜线,然后显示三个字母,例如/sda或/sdb,则不要继续寻找其他说明。

如果文件系统列为tempfs,则继续...

选项2。增加/tmp暂时的大小。

sudo mount -o remount,size=6G,noatime /tmp

就是这样。完成。

选项3。始终增加/TMP的大小。如果您在多个程序或活动中反复看到"无空间错误",这将很有用。

步骤1.备份FSTAB。

cp /etc/fstab ~/fstab_BACKUP 

步骤2.检查您是否有" TMPFS/TMP'

"的现有条目
cat /etc/fstab | grep tmp

步骤3。如果在终端上什么都没有返回,则粘贴以下行。将6G更改为您想要的/tmp的大小。

sudo sed -i '$a tmpfs /tmp tmpfs rw,nodev,nosuid,size=6G 0 0' /etc/fstab

如果您有现有条目,请用VIM或任何终端文本编辑器手动更改驱动器的大小。

sudo vim /etc/fstab

您会看到与此类似的东西:

------------/etc/fstab----------------------
...
tmpfs /tmp tmpfs rw,nodev,nosuid,size=4G 0 0
...

将大小整数更改为您想要的尺寸。例如,用6G替换4G。

保存&退出。

最后,重新启动计算机。

希望这会有所帮助。指示出于您自身的风险。

最新更新