Flutter.io Android 许可证状态未知

新手上路,请多包涵
>[!] 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 许可协议

阅读 1.1k
2 个回答

如果您更新了 android SDK,则许可证可能已更改。根据您进行更新的方式,您可能会或可能不会被提示接受更改,或者它只是无法保存您确实以 Flutter 可以理解的方式接受它们的事实。

要解决,请尝试运行

flutter doctor --android-licenses

这应该会提示您接受许可证(它可能会先询问您,以防只需键入 y 并按 Enter 键 - 尽管它应该会告诉您)。

如果您在这样做之后仍然遇到问题,那么可能值得在 Flutter Github 存储库 中打开一个新错误,或者在现有问题 添加评论,因为它可能就是您所看到的。

原文由 rmtmckenzie 发布,翻译遵循 CC BY-SA 4.0 许可协议

只需在 android studio 中安装下面的 sdk 命令行工具(最新)。 在此处输入图像描述

然后运行: flutter doctor --android-licenses

之后你应该得到:

 coolcoders@myhost ~ % flutter doctor --android-licenses
5 of 7 SDK package licenses not accepted. 100% Computing updates...
Review licenses that have not been accepted (y/N)? y

…然后您将获得一大堆许可证,可以一边啜饮您最喜欢的饮料一边阅读。

原文由 Nirbhay Rana 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题