>[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
>>• Android SDK a ..\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
X Android license status unknown.
当我运行 Flutter doctor 时,我遇到了 Android SDK 错误,尽管我仍然可以在我的设备上构建/运行它。我只是好奇如何解决这个问题。我相信我已经下载了最新版本的 Android SDK,不知道发生了什么,因为我上周没有这个问题。
##New 问题在评论中遵循了几个可能的修复后,它导致了一个新问题。我安装了较新版本的 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
原文由 tdmiller 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您更新了 android SDK,则许可证可能已更改。根据您进行更新的方式,您可能会或可能不会被提示接受更改,或者它只是无法保存您确实以 Flutter 可以理解的方式接受它们的事实。
要解决,请尝试运行
这应该会提示您接受许可证(它可能会先询问您,以防只需键入
y
并按 Enter 键 - 尽管它应该会告诉您)。如果您在这样做之后仍然遇到问题,那么可能值得在 Flutter Github 存储库 中打开一个新错误,或者在现有问题 上 添加评论,因为它可能就是您所看到的。