Flutter 徐徐圖之(一)—— 從搭建開發環境到 Hello World

 

1、環境變量android

因爲衆所周知的緣由,在國內訪問 Flutter 有時可能會受到限制,因此在開發以前,須要先配置環境變量git

 

MacOS:github

編輯 ~/.bash_profile 文件macos

vim ~/.bash_profile

這裏用的是 vim 來編輯,若是不習慣,能夠將 vim 替換爲 openvim

open ~/.bash_profile

添加如下代碼並保存windows

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

而後執行命令xcode

source ~/.bash_profile

 

Windows:bash

1. 計算機 -> 屬性 -> 高級系統設置 -> 環境變量,打開環境變量設置框;網絡

2. 在用戶變量下,選擇新建環境變量,添加以下的兩個環境變量和值:app

key value
FLUTTER_STORAGE_BASE_URL https://storage.flutter-io.cn
PUB_HOSTED_URL https://pub.flutter-io.cn

 

 

 

 

 

 

2、搭建 Android 開發環境

若是已經安裝過 Androdi Studio,能夠跳過這一節

 

首先安裝 Androdi Studio,會自帶 Android SDK,但還須要配置環境變量

打開 AS,選擇 Confiure -> SDK Manager

而後就能查看到 SDK 的地址

 

而後開始配置環境變量

 

MacOS:

按上面提到的辦法編輯 ~/.bash_profile 文件,將下面的代碼添加到文件中並保存

export ANDROID_HOME=/Users/{YourUserName}/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

記得把 ANDROID_HOME 設置爲上面的 SDK 地址,這裏只保存文件,不要用 source 命令執行

 

Windows:

咱們須要添加的代碼爲

(替換成 Android SDK 路徑)/tools;(替換成 Android SDK 路徑)/platform-tools

1. 計算機 -> 屬性 -> 高級系統設置 -> 環境變量,打開環境變量設置框

2. 在用戶變量下,選擇 Path,點擊編輯

若是沒有 Path 變量,則新建一個名爲 Path 的用戶變量,直接添加上面的代碼

若是已經存在 Path 變量,則在原有的值後面先加一個分號  ;  ,而後將上面的代碼添加到 Path

記得替換 Android SDK 路徑!!!

 

而後能夠打開 AS,選擇 Confiure -> AVD Manager,按照提示建立一個模擬器

另外,Flutter 還須要安裝 Git 工具,這是開發人員的標配,就再也不贅述

 

 

3、搭建 IOS 開發環境

若是已經安裝過 Xcode,能夠跳過這一節

 

IOS 只能在 MacOS 上開發,能夠到 App Store 下載一個 Xcode(須要 9.0 及以上版本)

App Store 上只有最新版的 Xcode,若是須要歷史版本,能夠訪問蘋果開發者平臺

 

而後在終端執行如下命令,簽署 Xcode 協議:

sudo xcodebuild -license

安裝完 Xcode 以後,就能夠將 Flutter 編譯成 iOS 安裝包了

 

 

4、下載 Flutter SDK

Flutter SDK 的下載頁面選擇合適的版本,若是有須要,也能夠訪問 Flutter 的 GitHub 倉庫

將下載的壓縮包解壓到任意目錄下,而後將 Flutter 目錄添加到 Path 環境變量

 

MacOS:

按上面提到的辦法編輯 ~/.bash_profile 文件,將下面的代碼添加到文件末尾並保存

export PATH=/`pwd`/flutter/bin:$PATH

記得將 `pwd` 改成 Flutter 文件夾所在到目錄!!!

若是拿不許完整路徑,能夠在終端進入 Flutter 目錄,而後經過  pwd  命令查看完整路徑

而後執行命令

source ~/.bash_profile

 

Windows:

1. 計算機 -> 屬性 -> 高級系統設置 -> 環境變量,打開環境變量設置框;

2. 在用戶變量下,編輯 Path 變量在原有的值後面先加一個分號  ;  ,而後將 Flutter SDK 的完整路徑添加到 Path

⚠️路徑要指向 bin 目錄,好比 Flutter 的目錄是  D:\work\flutter  ,是就須要添加  D:\work\flutter\bin  

 

這裏貼一個我本身的 .bash_profile 文件的內容

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export ANDROID_HOME=/Users/wise.wrong/Library/Android/sdk export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH export PATH=/Users/wise.wrong/work/flutter/bin:$PATH

  

環境變量配好以後,執行如下命令

flutter doctor

只要沒有報錯 command not found: flutter 就說明環境變量配置成功

若是出現其它錯誤,換一個版本的 SDK 試試

// 最開始配置完環境變量以後,運行 flutter doctor 提示 "No such file or directory",百思不解,最後換了一個版本的 SDK 就行了

 

在網絡很差的時候,有可能會遲遲獲取不到依賴包,若是這時候結束進程,從新執行 Flutter 命令,可能會遇到這個錯誤:

"Waiting for another flutter command to release the startup lock"

刪除 Flutter 目錄下 /bin/cache/lockfile 文件便可

若是打開了Android Studio,還須要重啓 Android Studio

 

在執行 flutter doctor 以後,可能會有一些 Flutter 的警告或者報錯,按照提示修復便可

好比 flutter doctor 會檢測 Android Studio 和 VS Code 中是否安裝 Flutter 插件

若是沒有安裝,就在對應 IDE 的擴展商店中搜索「Flutter」而後安裝,會同步安裝 Dart 的插件

 

5、用 VS Code 建立一個 Flutter APP

打開 VS Code,使用快捷鍵 Shift+cmd+P (MacOS) 打開命令面板,輸入「flutter」

 

選擇 New Project 新建一個項目

這時可能會提示找不到 Flutter SDK,點擊 Locate SDK,選擇 Flutter SDK 的目錄(不須要選擇 bin 目錄)

 

 

而後輸入項目名,選擇項目目錄,建立項目

在 VS Code 的底部工具欄可能會看到這樣的提示

這時候須要鏈接設備或者模擬器,能夠在 Android Studio 或者 Xcode 中建立

若是已經建立了模擬器,直接點擊「No Device」選擇模擬器便可

 

當前的項目結構如圖:

 

 其中 main.dart 是項目的入口文件,入口函數爲 main()

 

這個頁面中,有 MyApp, MyHomePage, _MyHomePageState 三個組件,他們都是 Widget

Flutter 中的 Widget 至關於 Android 裏的 View,iOS 裏的 UIView

Widget 的渲染語法相似於 JSX,能夠在 _MyHomePageState 組件中看到示例

 

嘗試把 Text 中的內容改成「Hello World」,而後編譯項目...

能夠經過 VS Code 的調試器直接編譯項目 (F5),也能夠在終端執行 flutter run 啓動項目

在編譯項目以前,首先檢查一下環境變量,在 VS Code 的終端中輸入 env(MacOS),檢查 PATH 變量是否正確

若是 PATH 變量有誤,能夠執行  source ~/.bash_profile  , 而後再編譯項目

// 每次啓動 zsh 的時候都須要 source ~/.bash_profile,後來修改了 ~/.zshrc 搞定 

 

 

若是編譯出現這個錯誤:

Failed to find target with hash string 'android-XX'

這裏的 XX 是 Android API 版本,出錯是由於沒有對應版本的 SDK

打開 Android Studio,選擇 Confiure -> SDK Manager,下載對應 API 版本的 SDK

若是相應的 SDK 都已經安裝了,仍是報上面的錯誤,打開 /android/app/build.gradle

 android.compileSdkVersion 和 android.defaultConfig.targetSdkVersion 修改成其它已安裝的版本

  

 

參考資料:

Flutter 中文網:https://flutterchina.club/setup-macos/
掘金小冊《Flutter 徹底手冊》:https://juejin.im/book/5c5423ef6fb9a049cd54a213

相關文章
相關標籤/搜索