Flutter環境搭建


Flutter環境的搭建過程中確實是遇到了不少坑,這里記錄一下,以下內容均基於win10。

使用國內鏡像

方便國內訪問flutter
設置環境變量
PUB_HOSTED_URL :https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cn
鏡像不保證長期能用, 訪問https://github.com/flutter/flutter/wiki,獲取最新動態。

需要環境

  • git
  • Flutter SDK : 安裝后把安裝位置flutter\bin 配置到path環境變量
    下載頁面
  • Android Studio :下載頁面

Android Studio配置

  • 第一次安裝Android Studio,啟動的時候可能會提示unable to access android sdk add-on list,這里是因為沒有安裝Android sdk, 我這里先點的cancle,進去之后再安裝

  • 點擊進入SDk Manager,下載相關需求,我這里勾選的可能會有多的,但是必須的都有
  • 安裝Flutter和Dart plugins
    • File > Settings > Plugins, 在Marketplace中找到Flutter,一般安裝了flutter會自動安裝dart。

Flutter檢測

運行命令, 看一下還有哪些需要配置的東西沒有通過

flutter doctor -v

我這里遇到的還有Android license status unknown. 這個問題
執行

flutter doctor --android-licenses

順利的話一路按y就可以了,但是現實總是那么殘酷
新的問題:

A newer version of the Android SDK is required. To update, run:
C:\Users\admin\AppData\Local\Android\Sdk\tools\bin/sdkmanager --update

run一下試試唄

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

這錯誤越來越長, 查了下可能和java版本有關,新版本的java去掉了一些庫, 我用的是java 13,網上說換成8就好了,但是我也是不想換(懶),在網上發現一篇教程https://www.wandouip.com/t5i325108/ , 安裝一下去掉的庫就行了,下面是所需庫的下載鏈接。

activation.jar
jaxb-impl.jar
jaxb-xjc.jar
jaxb-core.jar
jaxb-jxc.jar
jaxb-api.jar
istack-commons-runtime.jar

下載后在Android\Sdk\tools目錄下創建文件夾jaxb文件夾,將jar文件放進去,可以把jar文件名稱中的版本號去掉。然后把路徑添加到Android\Sdk\tools\sdkmanager.bat文件中,如下

set CLASSPATH=%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;%APP_HOME%\jaxb\istack-commons-runtime.jar;%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;%APP_HOME%\lib\j2objc-annotations-1.1.jar;%APP_HOME%\lib\layoutlib-api-26.0.0-dev.jar;%APP_HOME%\lib\gson-2.3.jar;%APP_HOME%\lib\httpcore-4.2.5.jar;%APP_HOME%\lib\commons-logging-1.1.1.jar;%APP_HOME%\lib\commons-compress-1.12.jar;%APP_HOME%\lib\annotations-26.0.0-dev.jar;%APP_HOME%\lib\error_prone_annotations-2.0.18.jar;%APP_HOME%\lib\animal-sniffer-annotations-1.14.jar;%APP_HOME%\lib\httpclient-4.2.6.jar;%APP_HOME%\lib\commons-codec-1.6.jar;%APP_HOME%\lib\common-26.0.0-dev.jar;%APP_HOME%\lib\kxml2-2.3.0.jar;%APP_HOME%\lib\httpmime-4.1.jar;%APP_HOME%\lib\annotations-12.0.jar;%APP_HOME%\lib\sdklib-26.0.0-dev.jar;%APP_HOME%\lib\guava-22.0.jar

再次運行

C:\Users\admin\AppData\Local\Android\Sdk\tools\bin/sdkmanager --update

終於不報錯了,在運行

flutter doctor --android-licenses

一路y之后,再檢測flutter doctor -v 看看是否還有沒配置的地方。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM