安装 Flutter 时遇到问题

时间:2021-05-05 21:06:00

标签: flutter android-studio

我试图在我的 VS Code 上安装 Flutter,但我一直遇到这个问题。 Android 许可证状态未知。

(base) Lenovo-Legion:~/Documents/$ flutter doctor
    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel stable, 2.0.6, on Linux, locale en_GB.UTF-8)
    [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        ✗ Android license status unknown.
          Run `flutter doctor --android-licenses` to accept the SDK licenses.
          See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.
    [✓] Chrome - develop for the web
    [✓] Android Studio
    [✓] VS Code (version 1.55.2)
    [✓] Connected device (1 available)
    
    ! Doctor found issues in 1 category.
    (base) Lenovo-Legion:~/Documents/$ flutter doctor --android-licenses
    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:581)
            at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
            at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
            ... 5 more
    (base) Lenovo-Legion:~/Documents/$ 

我回到 Android Studio 并更新了所有 SDK 许可证。没有帮助。我该如何解决?

1 个答案:

答案 0 :(得分:1)

通过转到 Android Studio> 设置 > 外观和行为 > 系统设置 > Android SDK > SDK 工具并选中下载 Android SDK 命令行工具(最新)选项来解决此问题。

Android SDK Command Line Tools

然后重新启动 VS Code 并重新运行 flutter doctor --android-licenses 并输入 y 以接受所有许可。现在应该像魅力一样工作!

(base) Lenovo-Legion:~/Documents/$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.6, on Linux, locale en_GB.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Chrome - develop for the web
[✓] Android Studio
[✓] VS Code (version 1.55.2)
[✓] Connected device (1 available)

! Doctor found issues in 1 category.
(base) Lenovo-Legion:~/Documents/$ flutter doctor --android-licenses
5 of 6 SDK package licenses not accepted. 100% Computing updates...             
Review licenses that have not been accepted (y/N)? y

1/5: License android-googletv-license:
---------------------------------------
Terms and Conditions

This is the Google TV Add-on for the Android Software Development Kit License Agreement.
......
......
......
......

检查

(base) Lenovo-Legion:~/Documents/$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.6, on Linux, locale en_GB.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio
[✓] VS Code (version 1.55.2)
[✓] Connected device (1 available)
• No issues found!