Android Studio启动失败,报“Archived non-system classes are disabled”及VM初始化错误求解决方法
Android Studio启动失败,报“Archived non-system classes are disabled”及VM初始化错误求解决方法
老哥,你这问题我前阵子帮朋友排查过,核心原因就是JDK版本太新,和当前Android Studio版本不兼容!JDK 25已经彻底移除了Security Manager的支持,而你用的Android Studio 2025.2.2.7还没适配这个变化,同时CDS的警告也是版本不匹配带来的连锁反应。给你几个亲测有效的解决思路:
一、优先用Android Studio自带的JDK启动
Android Studio其实自带了适配好的JDK(一般在安装目录的jbr文件夹下),直接指定它启动就能绕开大部分版本兼容问题:
- 打开终端,进入Android Studio的安装目录
- 执行命令:
./studio.sh -jdk ./jbr
这个方法最省心,基本能直接解决问题。
二、降级JDK到官方兼容的LTS版本
如果不想用自带JDK,可以把系统的JDK换成Android Studio官方推荐的LTS版本(JDK 17或JDK 21,这两个版本适配最稳定):
- 先卸载或切换系统默认JDK到17/21版本
- 直接正常执行
./studio.sh启动即可,那个CDS警告和VM初始化错误都会消失
三、修改Android Studio的VM配置文件,移除冲突参数
如果坚持要用JDK 25,可以试试手动移除启动时的Security Manager相关参数:
- 找到Android Studio安装目录下
bin文件夹里的studio64.vmoptions(32位系统是studio.vmoptions) - 用文本编辑器打开,查找有没有包含
-Djava.security.manager或者-security-manager的行,直接删除这些行 - 同时可以添加一行
-XX:ArchiveClassesAtExit=none,用来关闭CDS相关的警告提示 - 保存文件后重新执行
./studio.sh启动
四、检查启动脚本的硬编码参数
如果上面的方法都没效果,再检查下studio.sh脚本本身:
- 打开
studio.sh,看看里面有没有硬编码的JDK路径或者VM参数,比如有没有指定java.system.class.loader相关的配置 - 把这些可能导致冲突的参数删掉,保存后再启动试试
总的来说,最稳妥的还是用Android Studio自带的JDK或者官方推荐的LTS版本,毕竟新版本JDK的API变化实在太快,IDE的适配总是慢半拍,没必要硬扛着用最新JDK给自己找麻烦~




