搭载M4芯片Mac运行flutter doctor遇Android Toolchain Java版本检测错误求助
解决M4芯片Mac上Flutter Doctor检测Java版本失败的问题
针对你遇到的Cannot execute ... java to determine the version错误,按以下步骤排查修复:
1. 检查Java文件执行权限
打开终端,先查看Java二进制文件的权限:
ls -l /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/java
如果输出中没有x标记(执行权限),执行以下命令添加权限:
sudo chmod +x /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/java
2. 确认JDK架构匹配M4芯片
M4是ARM64架构,需确保安装的JDK是对应版本:
file /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/java
输出需包含arm64,如果显示x86_64,说明安装了Intel版JDK,需下载ARM64架构的JDK 21替换现有版本。
3. 配置JAVA_HOME环境变量
M4 Mac默认使用zsh,配置环境变量:
- 打开终端执行:
nano ~/.zshrc - 在文件末尾添加以下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH - 按
Ctrl+O保存,Ctrl+X退出,然后生效配置:source ~/.zshrc - 验证配置:执行
java -version,若能正常输出版本信息则配置成功。
4. 检查Android Studio的JDK配置
打开Android Studio,依次进入File > Project Structure > SDK Location,确认JDK Location指向正确的ARM版JDK路径:/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home,若路径错误手动修改。
5. 重新检测Flutter环境
完成以上步骤后,重新运行:
flutter doctor -v
检查Android toolchain的错误是否消除。
内容的提问来源于stack exchange,提问作者Amit Patel
相关产品推荐
相关产品推荐

