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 Doctor,Android 许可证状态未知
即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager