搭建Flutter环境-Android license status unknown问题解决

如题,安装Flutter环境(Mac平台),最后执行flutter doctor时出现:

Android license status unknown.

按照正常步骤肯定是各种百度,然后按照文章提示执行:

flutter doctor --android-licenses

到这来问题来了,出现错误:

Exception in thread "main" java.lang.NoClassDefFoundError

 

网上那些教程都是建议把Java版本降到Java8的,我不喜欢,我就要用Java11,写web api用var爽!

很明显就是Java9及更高版本才会出现这个问题,因为Java9之后干掉了一些库,如果写过Springcloud的同学应该会知道,需要添加jaxb相关依赖:

activation.jar

jaxb-impl.jar

jaxb-xjc.jar

jaxb-core.jar

jaxb-jxc.jar

jaxb-api.jar

在AndroidSDK(/Users/用户名/Library/Android/sdk/tools)目录的tools文件夹下面创建一个名为"jaxb"的文件夹,将上面的jar包都下载到 jaxb 里

提示:如果下载后的jar带有版本号可以将版本号删除掉,如:activation-1.1.1.jar可以重命名为activation.jar

完成之后我们使用Notepad++之类的文本编辑工具打开sdkmanager.bat文件进行编辑,打开后,在大约66行那里我们会看到这样的一行代码:

CLASSPATH=$APP_HOME/lib/dvlib-26.0.0-dev.jar:$APP_HOME/lib/jimfs-1.1.jar:$APP_HOME/lib/jsr305-1.3.9.jar:$APP_HOME/lib/repository-26.0.0-dev.jar:

我们按照这个规则将jaxb相关依赖添加进去就好了,下面是我添加的:

:$APP_HOME/lib/annotations-12.0.jar:$APP_HOME/lib/sdklib-26.0.0-dev.jar:$APP_HOME/lib/guava-22.0.jar:$APP_HOME/jaxb/activation.jar:$APP_HOME/jaxb/jaxb-impl.jar:$APP_HOME/jaxb/jaxb-xjc.jar:$APP_HOME/jaxb/jaxb-core.jar:$APP_HOME/jaxb/jaxb-jxc.jar:$APP_HOME/jaxb/jaxb-api.jar

改完,保存再次执行

flutter doctor --android-licenses

提示Y/N ,一路Y 即可,搞定!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章