这整个问题发生在我在 cmd 中运行 flutter doctor
时。Flutter doctor 显示问题为:
Android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.3)
Android 许可证状态未知。
运行 flutter doctor --android-licenses
接受 SDK 许可。
参见 https://flutter.dev/docs/get-started/install/windows#android-setup了解更多详情。
所以,我运行了 flutter doctor --android-licenses
然后它显示输出为:
错误:JAVA_HOME 设置为无效目录:C:\Program Files\Java\jdk-16.0.1\bin
请在您的环境中设置 JAVA_HOME 变量以匹配 Java 安装的位置。
我尝试了很多方法,例如:将目录更改为 C:\Program Files\Java\jdk-16.0.1
(没有 bin)但是当我运行 flutter doctor 时—— android-licenses
它显示
线程“main”中的异常 java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema 在 com.android.repository.api.SchemaModule$SchemaModuleVersion.(SchemaModule.java:156) 在 com.android.repository.api.SchemaModule.(SchemaModule.java:75) 在 com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java:81) 在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) 在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) 引起:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519) ... 还有 5 个
请帮我解决这个问题,谢谢!
最佳答案
首先你需要在andriod studio中安装“Android SDK命令行工具”。 Settings > System Settings > Android SDK > SDK Tool --> Android SDK Command Line Tool(如下截图所示)
然后观看此视频 -> https://www.youtube.com/watch?v=104dNWmM6Rs&ab_channel=CodeJava
关于java - 如何修复错误 : JAVA_HOME is set to an invalid directory (Flutter android licenses),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67587149/