安装Flutter时,先报Android license status unknown错误,
执行flutter doctor --android-licenses命令,又提示
A newer version of the Android SDK is required. To update, run: sdkmanager --update。
运行sdkmanager --update报如下错误。
C:\SDK\AndroidSDK\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:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 5 more
网上搜了下,有各种解决办法。
我是Windows 10环境,JDK版本是13。
最终解决办法如下:网上下载了JDK 8,并将JAVA环境变量改成java8路径,JDK13没有卸载。再运行sdkmanager --update,正常了。
具体原因是java9以上版本将有些文件删掉,所以报找不到文件。
Flutter开发还是选择JDK8开发环境。
2020年1月1日
上海 泗泾