-
问题描述
将macOS
系统版本从macOS High Sierra 10.13.6
升级到macOS Monterey 12.6.7
之后,Android SDK Manager
工具打开后页面显示空白,并且命令行打印如下错误:
-
问题原因
升级macOS
系统之前是好的,说明是因为升级操作系统引入。由于Android SDK Manager
工具依赖JDK
,因此首先查一下JDK
版本,命令行输入java -version
,显示版本是1.8.0_361
:
之前安装JDK
和Android SDK
之后是有配置对应的JAVA_HOME
和ANDROID_HOME
两个环境变量,通过export
命令导入在.bash_profile
配置文件中,因此去查看该配置文件下的环境变量,发现JAVA_HOME
中的路径和当前系统默认使用的JDK
路径不一致,JAVA_HOME
指示的路径是/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home//bin/java
,对应的JDK
版本是1.8.0_111
。
而当前默认使用的是/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
,版本是1.8.0_361
。可以确定就是因为JDK
版本变更导致Android SDK Manager
工具无法打开。
因此解决方案也很简单,就是把默认的JDK
恢复成1.8.0_111
。这里面有一个疑问,明明.bash_profile
配置文件中的JAVA_HOME
环境变量是正确的,为啥没生效呢?
原因就是从 macOS Catalina 开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell,在此之前bash是默认shell
,可以参考官方说明。所以.bash_profile
中的JAVA_HOME
配置肯定不生效,因为打开终端的时候都不会加载.bash_profile
这个配置文件。
-
解决方案
将JDK 1.8.0_111
配置为默认使用的JDK
。
方法1:可以是卸载当前版本后,去下载JDK 1.8.0_111
版本并重新安装,老版本的JDK
不一定方便找到,见如何查找老版本的JDK安装包。
方法2:针对本文中的情况,只需要在zsh
的配置文件.zshrc
中将JAVA_HOME
配置成1.8.0_111
所在的路径即可,具体操作为,在当前用户的主目录(~
目录)下打开(或新建)文件~/.zshrc
,将如下两行命令加入到该文件:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME
重新打开Android SDK Manager
工具,恢复正常。
网友评论