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


 

一、環境變量

由於眾所周知的原因,在國內訪問 Flutter 有時可能會受到限制,所以在開發之前,需要先配置環境變量

 

MacOS:

編輯 ~/.bash_profile 文件

vim ~/.bash_profile

這里用的是 vim 來編輯,如果不習慣,可以將 vim 替換為 open

open ~/.bash_profile

添加以下代碼並保存

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

然后執行命令

source ~/.bash_profile

 

Windows:

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

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

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

 

 

 

 

 

 

二、搭建 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 工具,這是開發人員的標配,就不再贅述

 

 

三、搭建 IOS 開發環境

如果已經安裝過 Xcode,可以跳過這一節

 

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

App Store 上只有最新版的 Xcode,如果需要歷史版本,可以訪問蘋果開發者平台

 

然后在終端執行以下命令,簽署 Xcode 協議:

sudo xcodebuild -license

安裝完 Xcode 之后,就可以將 Flutter 編譯成 iOS 安裝包了

 

 

四、下載 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 的插件

 

五、用 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

 


免責聲明!

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



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