无法为 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 文件系统中半满的位置:
- 通过
$_JAVA_OPTIONS
设置。 JVM 承认这一点,但应用程序仍然失败
- 通过
$JAVA_OPTS
和 $SDKMANAGER_OPTS
设置。
- 直接编辑到上面的
sdkmanager
启动脚本中。
None 这些有什么不同。
删除安装(~/Android
、~/.AndroidStudio1.3
等),设置$_JAVA_OPTIONS
,然后重新运行宁studio.sh
)解决了这个问题.
这意味着当应用程序第一次 运行 时,临时目录被硬编码在某个地方。
我已经在 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 文件系统中半满的位置:
- 通过
$_JAVA_OPTIONS
设置。 JVM 承认这一点,但应用程序仍然失败 - 通过
$JAVA_OPTS
和$SDKMANAGER_OPTS
设置。 - 直接编辑到上面的
sdkmanager
启动脚本中。
None 这些有什么不同。
删除安装(~/Android
、~/.AndroidStudio1.3
等),设置$_JAVA_OPTIONS
,然后重新运行宁studio.sh
)解决了这个问题.
这意味着当应用程序第一次 运行 时,临时目录被硬编码在某个地方。