运行sdkmanager --update 报错的解决方案
source link: https://shingle.me/post/%E8%BF%90%E8%A1%8Csdkmanager-update-%E6%8A%A5%E9%94%99%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
运行sdkmanager --update 报错的解决方案
应该是没有兼容 java8以上的版本导致的问题
今天在安装flutter的时候,运行flutter doctor -v
检查有没有组件缺失的情况时,发现有一个错误提示:
✗ Android license status unknown
虽然不妨碍使用, 不过作为强迫症不能忍受
网上查看文档发现, 可以运行flutter doctor --android-licenses
,然后会给出具体的错误和建议, 运行结果是
A newer version of the Android SDK is required. To update, run:
/Users/shingle/Library/Android/sdk/tools/bin/sdkmanager --update
然后继续运行上面的建议, 报了一个错:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
好吧, 先忍一忍, 继续google查找相关问题,终于在一个 issue 讨论中找到了一个终极解决方案. issue 地址在这里
编辑你的sdkmanager
脚本文件,替换第31行为如下的内容
# 原内容:
# DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'
# 替换内容:
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
然后再次运行一下sdkmanager --update
,等待更新完成之后, 再次运行flutter doctor --android-licenses
, 输入 y
接受协议即可.
Warning: File /Users/shingle/.android/repositories.cfg could not be loaded.
4 of 6 SDK package licenses not accepted. 100% Computing updates...
Review licenses that have not been accepted (y/N)? y
Recommend
-
11
Java程序运行报错,提示"必须声明一个命名包",用的是eclipse的JavaSE-15,不胜感激!...
-
34
为什么程序没报错却不能运行。-CSDN论坛java的代码用什么运行不了_开发java程序时为什么代码没错却运行不...像题中的问题,先站在对方的角...
-
6
solidity的返回值问题。为什么编译不报错。运行就出错呢? | 登链社区 | 技术问答 solidity的返回值问题。为什么编译不报错。运行就出错呢? ...
-
5
...
-
3
迷途小书童的Note ubuntu 18.04 6...
-
3
V2EX › Java JDK 在 Windows11 系统上运行创建`NUL:`文件报错,有哪位大佬知道是什么问题吗?
-
2
V2EX › React nextjs 运行报错 xiaoweipe...
-
6
【踩坑】IDEA通过DEBUG运行Go程序报错 2023-06-04
-
2
docker 运行报错本来 docker 能正常运行,突然报错了,容器无法跑,docker 无法运行,报错。报错提示为:Job for docker.service failed because the control process exited with error code. See "syst...
-
4
在安装Polygon3时需到了这个报错,提示LINK : fatal error LNK1158: 无法运行“rc.exe” 需要下载的工具:Microsoft C++ 编译工具(Microsoft C++ Build Tools) 下载地址:
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK