WSL2安装Android Studio遇VM初始化错误求助
Android Studio在WSL2启动报错:Could not create SecurityManager: allow
操作背景
- 下载Linux版Android Studio存档,解压得到
android-studio文件夹并移入WSL2目录 - 已安装Java 8并在
~/.zshrc中配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre export PATH=$PATH:$JAVA_HOME/bin export STUDIO_JDK=$JAVA_HOME
- 已安装vcXsrv并完成xlaunch配置
报错信息
进入android-studio/bin执行sh studio.sh时出现以下错误:
CompilerOracle: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend Error occurred during initialization of VM java.lang.InternalError: Could not create SecurityManager: allow at sun.misc.Launcher.<init>(Launcher.java:106) at sun.misc.Launcher.<clinit>(Launcher.java:54) at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1444) at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1429)
解决方案
1. 升级Java版本(推荐)
Android Studio较新版本已不再支持Java 8,官方推荐使用Java 17:
- 安装OpenJDK 17:
sudo apt update && sudo apt install openjdk-17-jdk
- 更新
~/.zshrc中的环境变量:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin export STUDIO_JDK=$JAVA_HOME
- 使配置生效:
source ~/.zshrc
2. 移除SecurityManager启动参数
若暂时无法升级Java,可修改启动脚本移除相关配置:
- 编辑
android-studio/bin/studio.sh文件,找到包含-Djava.security.manager=allow的行,删除或注释该行 - 重新执行
sh studio.sh启动Studio
3. 验证X11转发配置
确保WSL2的X11转发配置正确:
- 在
~/.zshrc中添加:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 export LIBGL_ALWAYS_INDIRECT=1
- 生效配置后重启终端,再尝试启动Studio
内容的提问来源于stack exchange,提问作者user2552108
相关产品推荐
相关产品推荐

