[!] Android工具链-为Android设备开发(Android SDK 27.0.3) •Android SDK a .. \ Android \ sdk•未配置Android NDK位置(可选;对本机性能分析支持很有用)•平台android-27,构建工具27.0.3•Java二进制文件位于:C:\ Program Files \ Android \ Android Studio \ jre \ bin \ java•Java版本OpenJDK运行时环境(内部版本1.8.0_152-release-1024-b02)X Android许可证状态未知。
[!] Android工具链-为Android设备开发(Android SDK 27.0.3)
•Android SDK a .. \ Android \ sdk•未配置Android NDK位置(可选;对本机性能分析支持很有用)•平台android-27,构建工具27.0.3•Java二进制文件位于:C:\ Program Files \ Android \ Android Studio \ jre \ bin \ java•Java版本OpenJDK运行时环境(内部版本1.8.0_152-release-1024-b02)X Android许可证状态未知。
运行Flutter doctor时,Android Sdk出现错误,尽管我仍然可以在设备上构建/运行。我只是对如何解决此问题感到好奇。我相信我已下载了android sdk的最新版本,不确定发生了什么,因为上周我没有这个问题。
遵循注释中的几个可能的修复程序之后,它导致了一个新问题。我安装了较新版本的android sdk P,8和7,以及新的jdk10。显然还没有足够的更新。
C:\Flutter\flutter>flutter doctor --android-licenses A newer version of the Android SDK is required. To update, run: C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
C:\ Flutter \ flutter> C:\ users \ username \ appdata \ local \ android \ sdk \ tools \ bin \ sdkmanager.bat –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
如果您更新了android SDK,则许可证可能已更改。根据您执行更新的方式,您可能会提示是否接受更改,或者可能只是没有保存您确实以一种颤动能理解的方式接受更改的事实。
要解决,请尝试运行
flutter doctor --android-licenses
这应该提示您接受许可证(如果首先键入y并按Enter键,它可能会先询问您-尽管它应该告诉您)。
y
如果这样做之后仍然遇到问题,则可能值得在Flutter Github存储库中打开一个新的错误,或者对像这样的现有问题添加评论,因为这可能是您所看到的。