【发布时间】:2018-09-20 09:08:58
【问题描述】:
>[!] 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,不知道发生了什么,因为我上周没有这个问题。
##新问题 在对 cmets 进行了几个可能的修复之后,它导致了一个新问题。我安装了较新版本的 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
【问题讨论】:
-
可能对将来的参考有用。我使用的是 Windows 10,我有一个 JDK 11 版本。正如大多数人建议的那样,我将 JDK 降级到版本 8。然后我执行了
flutter doctor。它仍然说需要接受许可证。然后我运行flutter doctor --android-licenses并说yes获取所有许可协议。最后问题消失了:)。带走的是降级到 JDK 8 将解决问题 -
这个答案有助于从 android studio gui 中安装 sdk play store 许可证。 stackoverflow.com/a/65899101/3834325
-
2021 年 7 月更新:在 Flutter 2.2.3 中,最新的 Java 16 仍然存在同样的问题。安装 Java 8 并将 JAVA_HOME 设置为 Java 8 安装目录,解决了 Java 异常错误。 OpenJDK 8 也可以。
标签: java android flutter flutter-android android-licenses