Flutter 和 Dart 插件在降级 flutter 时未安装错误,即使它们已安装在 android studio 上
Flutter and Dart plugin not installed errror when downgrade flutter even though they are installed on android studio
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel unknown, v1.4.0, on Microsoft Windows [Version 10.0.19041.804], locale en-IE)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
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.io/setup/#android-setup for detailed
instructions.
[!] Android Studio
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.52.1)
[!] Connected device
! No devices available
我用的是最新版的flutter,运行flutter doctor,一切正常。然后我降级了 flutter 现在它说我没有安装 flutter 和 Dart 插件,即使我安装了。
我 运行 这个命令 - flutter doctor --android-licenses
并收到以下错误
A newer version of the Android SDK is required. To update, run: C:\Users\willm\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:522)
... 5 more
我现在 运行 没主意了,关于在不再次升级 flutter 的情况下该怎么做的建议?
所以我在升级到 flutter 2.0 后遇到了同样的问题,但是有些包还没有准备好。因此,我不得不降级。尽管 flutter 医生说:
[!] Android Studio(版本 4.1.0)
X Flutter 插件未安装;这增加了 Flutter 特定的功能。
X Dart 插件未安装;这增加了 Dart 特定的功能。
我仍然能够毫无问题地构建和测试应用程序。因此,请尝试重建 运行 应用程序。希望当它保存升级到 2.0 时,这些小东西会消失。
有些解决方案可能有用
1).解决方案 1
运行 Flutter clean
重建应用程序
2).解决方案 2
通过 运行 接受许可,执行以下命令
您只需通过 运行 此命令
接受许可
yes | sdkmanager --licenses
用于Linux 使用:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
用于Windows 使用:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
注:设置
%ANDROID_HOME%
作为
C:\Users\username\AppData\Local\Android\Sdk
之后检查许可证
颤振:
flutter doctor --android-licenses
3). 解决方案 3
当前SDK版本不兼容Java9.
因此,要解决它,您可以将 java 版本降级到 Java 8,或者使用解决方法,您可以在终端上导出以下选项:
Linux:
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Windows:
set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
为了让它坚持下去,您可以在 Linux 上的配置文件中导出 JAVA_OPTS(.zshrc、.bashrc 等)或在 [=67 上永久添加为环境=].
然后,您可以输入flutter或sdkmanager命令:
颤振:
flutter doctor --android-licenses
sdkmanager:
sdkmanager --licenses
并在需要接受许可时键入 Y。
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel unknown, v1.4.0, on Microsoft Windows [Version 10.0.19041.804], locale en-IE)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
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.io/setup/#android-setup for detailed
instructions.
[!] Android Studio
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.52.1)
[!] Connected device
! No devices available
我用的是最新版的flutter,运行flutter doctor,一切正常。然后我降级了 flutter 现在它说我没有安装 flutter 和 Dart 插件,即使我安装了。
我 运行 这个命令 - flutter doctor --android-licenses
并收到以下错误
A newer version of the Android SDK is required. To update, run: C:\Users\willm\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:522)
... 5 more
我现在 运行 没主意了,关于在不再次升级 flutter 的情况下该怎么做的建议?
所以我在升级到 flutter 2.0 后遇到了同样的问题,但是有些包还没有准备好。因此,我不得不降级。尽管 flutter 医生说:
[!] Android Studio(版本 4.1.0) X Flutter 插件未安装;这增加了 Flutter 特定的功能。 X Dart 插件未安装;这增加了 Dart 特定的功能。
我仍然能够毫无问题地构建和测试应用程序。因此,请尝试重建 运行 应用程序。希望当它保存升级到 2.0 时,这些小东西会消失。
有些解决方案可能有用
1).解决方案 1
运行 Flutter clean
重建应用程序
2).解决方案 2
通过 运行 接受许可,执行以下命令 您只需通过 运行 此命令
接受许可yes | sdkmanager --licenses
用于Linux 使用:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
用于Windows 使用:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
注:设置
%ANDROID_HOME%
作为
C:\Users\username\AppData\Local\Android\Sdk
之后检查许可证
颤振:
flutter doctor --android-licenses
3). 解决方案 3
当前SDK版本不兼容Java9.
因此,要解决它,您可以将 java 版本降级到 Java 8,或者使用解决方法,您可以在终端上导出以下选项:
Linux:
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Windows:
set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
为了让它坚持下去,您可以在 Linux 上的配置文件中导出 JAVA_OPTS(.zshrc、.bashrc 等)或在 [=67 上永久添加为环境=].
然后,您可以输入flutter或sdkmanager命令:
颤振:
flutter doctor --android-licenses
sdkmanager:
sdkmanager --licenses
并在需要接受许可时键入 Y。