如何彻底卸载Android Studio Flamingo并解决Java兼容问题
问题解决:Android Studio卸载报错与Java版本兼容问题
一、Android Studio Flamingo卸载时zsh通配符报错
误安装Android Studio Flamingo后,执行带*的卸载命令时报错:
zsh: no matches found: /Users/[name]/Library/Preferences/AndroidStudio*
需彻底卸载以搭建Flutter环境。
解决方法
zsh中*通配符需要特殊处理,以下几种方式都可行:
- 用双引号包裹路径,避免zsh提前解析通配符:
rm -rf "/Users/[name]/Library/Preferences/AndroidStudio*" - 转义星号:
rm -rf /Users/[name]/Library/Preferences/AndroidStudio\* - 先进入目标目录再执行删除:
cd /Users/[name]/Library/Preferences rm -rf AndroidStudio*
完整Mac卸载步骤(彻底清除)
- 将Android Studio应用拖入废纸篓,右键选择“清倒废纸篓”
- 删除偏好设置文件:
rm -rf ~/Library/Preferences/AndroidStudio* - 删除缓存文件:
rm -rf ~/Library/Caches/AndroidStudio* - 删除日志文件:
rm -rf ~/Library/Logs/AndroidStudio* - 删除插件与配置:
rm -rf ~/Library/Application\ Support/AndroidStudio* - 若需清除SDK,执行:
rm -rf ~/Library/Android/sdk
二、Java版本不兼容报错
卸载重装后遇到如下错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/prefs/AndroidLocationsProvider has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:669) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:651)
当前环境信息:
- Java版本:
java version "20.0.1" 2023-04-18 Java(TM) SE Runtime Environment (build 20.0.1+9-29) Java HotSpot(TM) 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing) - Flutter版本:3.7.0
问题原因
Class文件版本55.0对应Java 11,52.0对应Java 8。报错说明当前运行的JRE版本过低(识别到52.0,即Java 8),但目标类是用Java 11编译的;或系统Java环境与Android Studio内置JDK版本冲突,Flutter 3.7.0对Java 20兼容性较差。
解决方法
安装并切换到Java 11(Flutter 3.7.0推荐版本)
- Mac下通过Homebrew安装:
brew install openjdk@11 - 配置环境变量(
~/.zshrc):export JAVA_HOME=$(/usr/libexec/java_home -v 11) export PATH=$JAVA_HOME/bin:$PATH - 生效配置:
source ~/.zshrc - 验证版本:
java -version
- Mac下通过Homebrew安装:
配置Android Studio使用正确JDK
打开Android Studio →Settings→Build, Execution, Deployment→Build Tools→Gradle→Gradle JDK,选择已安装的Java 11。检查Flutter环境
执行flutter doctor,根据提示修复剩余问题,确保Java环境配置正确。(可选)卸载Java 20
若仍有冲突,可彻底卸载Java 20,避免环境干扰:sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-20.jdk
内容的提问来源于stack exchange,提问作者sarakhan
相关产品推荐
相关产品推荐

