无法为 Android sdkmanager 设置 java.io.tmpdir

Cannot set java.io.tmpdir for Android sdkmanager

我已经在 Fedora 25 系统上安装了 Android Studio。当我去使用模拟器并创建一个新的虚拟设备时,我得到了一些下载系统映像的选项。这失败了,消息是 "no space left on device".

从那时起,每次我执行相同的步骤时,我不再选择要下载的图片,而是 "No system images available. Are you connected to the internet?" -- 我是。

然后我尝试直接 运行 sdkmanager,结果是:

Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
   20622
Try using the -Djava.io.tmpdir= option to select an alternate temp location.

我认为这是指 /tmp,它是一个内存 (tmpfs) 文件系统,上限为 4GB,或多或少 none 正在使用中。如果需要更多 space,我可以在其他地方使用。

sdkmanager 启动脚本提到:

#

 Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'

我已经尝试过与此相关的三件事,使用 100 GB 文件系统中半满的位置:

None 这些有什么不同。

删除安装(~/Android~/.AndroidStudio1.3等),设置$_JAVA_OPTIONS,然后重新运行宁studio.sh)解决了这个问题.

这意味着当应用程序第一次 运行 时,临时目录被硬编码在某个地方。