因工作需要,需要用到Flutter开发相关环境。在Mac上安装Flutter开发环境时,flutter doctor 无法检测到AndroidStudio4.1已安装的插件:
经查询得知Android Studio 4.1 的插件位置换成了~/Library/Application\ Support/Google/AndroidStudio4.1/plugins
,而老版本的位置为~/Library/Application\ Support/AndroidStudio4.1
,所以用 flutter doctor
这个命令去检测时,还是会去原来的位置查找这两个插件,由此导致无法找到插件。
解决办法:添加软链接,命令如下:
ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
完成后再次执行flutter doctor 检测通过:
同样的情况出现在windows情况下:
解决办法:
Flutter Doctor: Android Studio 4.1 is not detected
同时,由于本人的开发环境所用的JDK为JDK11版本,导致flutter报以下错误:
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:583)
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环境遇到Android license status unknown问题解决,支持Java9,Java10,Java11