搭建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 即可,搞定!

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