Windows环境下Flutter Android许可证状态未知及SDK更新报错求助
解决Android SDK Manager更新时的Java依赖错误
这个问题我太熟了!你遇到的核心问题是Java版本与旧版Android SDK工具不兼容——你的sdkmanager是旧版本,它依赖的javax.xml.bind包在Java 9及以后的版本里被移除了,而你当前用的是Java SDK 13.0.1,所以才会抛出NoClassDefFoundError。
下面给你两种简单的解决步骤,优先选第一种就行(因为你已经装了Java 8):
方法一:用Java 8临时运行sdkmanager
- 先找到你Java 8的安装路径,比如默认可能是
C:\Program Files\Java\jdk1.8.0_xxx(xxx是你具体的Java 8版本号,比如301) - 打开命令提示符,输入以下命令(注意替换路径里的占位符为你实际的路径):
"C:\Program Files\Java\jdk1.8.0_xxx\bin\java.exe" -jar "C:\Users\user\AppData\Local\Android\sdk\tools\bin\sdkmanager.jar" --update
- 等待SDK更新完成后,再运行:
flutter doctor --android-licenses
- 跟着提示按
Y接受所有Android许可证即可。
方法二:升级SDK命令行工具(备选)
如果第一种方法执行有问题,可以试试通过Android Studio更新SDK工具:
- 打开Android Studio,进入
File > Settings > Appearance & Behavior > System Settings > Android SDK - 切换到
SDK Tools标签,找到并勾选Android SDK Command-line Tools (latest),点击Apply完成安装 - 安装完成后,重新打开命令行,直接运行
flutter doctor --android-licenses,就能正常处理许可证了
别困惑啦,按步骤走很快就能搞定!
内容的提问来源于stack exchange,提问作者Anirudh Vashisht
相关产品推荐
相关产品推荐

