Flutter 医生说我有许可问题

Posted

技术标签:

【中文标题】Flutter 医生说我有许可问题【英文标题】:Flutter doctor says I have licensing issues 【发布时间】:2020-02-16 05:22:48 【问题描述】:

我开始在 android studio 尝试重新编译程序以满足新的 64 位要求时遇到一堆问题。开始给我未设置 JAVA_HOME 环境变量的奇怪错误。奇怪,因为它适用于最后一次编译。有一个全新版本的 Android Studio,所以我运行了所有升级,这就是我尝试运行 Flutter Doctor 时得到的结果。我怀疑问题与 jdk 13.0.1 有一些差异,但不确定我应该尝试安装哪个版本,或者我找错地方了。

c:\src\flutter>颤振医生

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.9.1+hotfix.5, on Microsoft Windows [Version 10.0.17763.805], locale en-CA)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    X Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed
      instructions.
[√] Android Studio (version 3.5)
[!] Connected device

! Doctor found issues in 2 categories.

c:\src\flutter>flutter 医生 --android-licenses

A newer version of the Android SDK is required. To update, run:
C:\Users\mctrivia\AppData\Local\Android\sdk\tools\bin\sdkmanager --update

c:\src\flutter>C:\Users\mctrivia\AppData\Local\Android\sdk\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

【问题讨论】:

Flutter.io Android License Status Unknown的可能重复 【参考方案1】:

解决了这个问题。需要注册一个 oracle 帐户并下载 Java 8 SDK

【讨论】:

【参考方案2】:

除了安装 JavaJDK,还需要安装 Android SDK Command-line tools

【讨论】:

以上是关于Flutter 医生说我有许可问题的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:不能接受 android 许可证

Flutter Doctor,Android 许可证状态未知

Flutter 中的 Android 许可证

即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager

运行 Flutter Doctor 时出现 Flutter android 许可错误

<异步挂起>flutter 医生时的注释 --android-licenses -v