Flutter系列教程——環(huán)境搭建(一)

一塔粒、Flutter 介紹

Flutter 是 Google 開源的 UI 工具包阀溶,幫助開發(fā)者通過一套代碼庫高效構建多平臺精美應用,支持移動玄括、Web冯丙、桌面和嵌入式平臺。

Flutter 的主要組成部分包括:
  • 基礎庫
  • Skia 2D渲染引擎
  • 定制化設計風格的組件
Flutter 引擎

? Flutter 的 引擎使用 C++ 開發(fā)遭京,通過谷歌的 Skia 圖形庫提供底層渲染支持胃惜,亦提供平臺相關的 SDK泞莉,例如 Android 和 iOS。

基礎庫

? 基礎庫由 Dart 編寫船殉,提供了用 Flutter 構建應用所需的基本的類和函數(shù)鲫趁。

組件

? Flutter 是通過組織、創(chuàng)建不同的組件完成用戶界面設計的捺弦。

定制化設計風格的組件

? Flutter 框架包含了兩套符合特定設計語言的組件饮寞。

? Material Design 的組件實現(xiàn)的是同名的谷歌設計語言

? Cupertino 的組件模仿了蘋果 iOS 的設計。

1.1 系統(tǒng)要求:

名稱 說明
編程語言 Dart
操作系統(tǒng) Windows列吼、macOS幽崩、Linux (iOS、Android寞钥、web)
官方網(wǎng)站 https://flutter.dev/docs
中文網(wǎng)站 https://flutter.cn/
源代碼庫 https://github.com/flutter/flutter

二慌申、Flutter準備

2.1 下載 Flutter SDK:

macOS Flutter SDK 版本列表

2.2 解壓文件

cd Desktop/GitHub
unzip ~/Downloads/flutter_macos_v1.9.1+hotfix.4-stable.zip

2.3 配置 Flutter 的 PATH 環(huán)境變量

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

# 驗證 flutter 是否可用
flutter
image-20191016150620834.png

2.4 二進制文件預下載(可選)

# 可以通過下面這個命令預先下載 iOS 和 Android 的開發(fā)二進制文件
flutter precache

# 更多 precache 使用方式
flutter help precache 

2.5 升級 Flutter 版本

參考鏈接:https://flutter.cn/docs/development/tools/sdk/upgrading

2.6 環(huán)境配置檢測

# 查看當前環(huán)境是否需要安裝其他的依賴
flutter doctor
# 解決報錯問題

# 1.同意 Android 許可協(xié)議
flutter doctor --android-licenses

# 2.安裝 Flutter 插件,支持Flutter開發(fā)工作流 (運行理郑、調(diào)試蹄溉、熱重載等)
# 3.安裝 Dart 插件,提供代碼分析 (輸入代碼時進行驗證您炉、代碼補全等)
# 注意:(Flutter 會附帶安裝 Dart SDK柒爵,不需要再對 Dart 單獨安裝)
打開 Android Studio、IDEA赚爵、VSCode 安裝 Flutter 插件

2.7 更新 PATH 環(huán)境變量(全局配置)

出現(xiàn): flutter: command not found 問題

原因:設置環(huán)境變量的時候棉胀,直接在命令行通過 export 命令進行的,并沒有全局設置冀膝,需要做如下修改唁奢。

# 將flutter/bin添加到.bash_profile或.zshrc文件中
export PATH="$PATH:[替換為FlutterSDK保存的路徑]/flutter/bin"

# 修改.bash_profile文件,并更新環(huán)境變量 (適用于: Linux窝剖、macOS Mojave 之前的系統(tǒng))
open -e $HOME/.bash_profile
source $HOME/.bash_profile

# 修改.zshrc文件麻掸,并更新環(huán)境變量 (適用于:macOS Catalina)
open -e $HOME/.zshrc
source $HOME/.zshrc

三、平臺配置

macOS 可以開發(fā) iOS赐纱、Android 和 Web(技術預覽版正式發(fā)布)三個平臺的 Flutter 應用脊奋。

iOS 開發(fā)環(huán)境

1. 安裝 Xcode
2. 配置 Xcode command-line tools (可選)
# 安裝多個 Xcode,可以通過命令配置配置
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
3. Xcode 的許可協(xié)議(可選)
# 打開 Xcode疙描,或者通過命令同意許可協(xié)議
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
4. 配置 iOS 模擬器
# 運行模擬器
open -a Simulator

Android 開發(fā)環(huán)境

1. 安裝 Android Studio
2. 配置 Android 模擬器
  • 激活機器上的 VM acceleration 選項诚隙。
  • 啟動 Android Studio > Tools > Android > AVD Manager,然后選擇 Create Virtual Device 選項淫痰。(只有在 Android 項目中才會顯示 Android 子選項最楷。)
  • 選擇相應的設備并選擇 Next 選項。
  • 選擇一個或多個你想要模擬的 Android 版本的系統(tǒng)鏡像,然后選擇 Next 選項籽孙。推薦選擇 x86 或者 x86_64 鏡像烈评。
  • 在 Emulated Performance 下選擇 Hardware - GLES 2.0 選項來開啟 硬件加速
  • 確保 AVD 選項配置正確犯建,并選擇 Finish 選項讲冠。 想要查看上述步驟的更多詳細信息,請查看 Managing AVDs 頁面适瓦。
  • 在 Android Virtual Device Manager 中竿开,點擊工具欄中的 Run 選項,模擬器會啟動并為你所選擇的系統(tǒng)版本和設備顯示出相應的界面玻熙。

Web 開發(fā)環(huán)境

1. 安裝 Chrome

四否彩、Flutter 常用命令

1. 通過 flutter --help 查看 Flutter 常用命令
常用命令:
  flutter create <output directory> 創(chuàng)建項目
  flutter run [options]             運行項目
  
使用: flutter <command> [arguments]

全局選項:
-h, --help                  打印幫助信息
-v, --verbose               動態(tài)日志

-d, --device-id             目標設備 ID 或名稱
    --version               查看命令版本
    --suppress-analytics    禁止分析報告
    --bug-report            提交 bug

可用的命令:
  analyze          分析 dart 代碼
  attach           附加應用到連接中的設備
  build            構建應用
  channel          列出或者切換通道
  clean            刪除 build/ 文件夾
  config           配置 flutter
  create           創(chuàng)建項目
  devices          列出已連接的設備
  doctor           檢查 flutter 信息
  drive            Runs Flutter Driver tests for the current project.
  emulators        列出可用的設備
  format           格式化 Dart 文件
  fuchsia_reload   熱加載
  help             顯示幫助信息
  install          在連接的設備中安裝 app
  logs             顯示正在運行的應用的日志
  packages         包
  precache         Populates the Flutter tool's cache of binary artifacts.
  run              運行應用
  screenshot       為應用截圖
  stop             停止運行
  test             Run Flutter unit tests for the current project.
  trace            Start and stop tracing for a running Flutter app.
  upgrade          更新 flutter

五、運行效果

1. 創(chuàng)建 Flutter 應用
# 創(chuàng)建新的 Flutter 應用
cd Desktop/GitHub
flutter create my_app
2. 啟動 Flutter 應用
# 切換目錄
cd Desktop/GitHub/my_app

# 注意:首先要啟動模擬器 (iOS 或 Android)

# 可用模擬器設備列表
flutter devices

# 運行 Flutter 應用
flutter run -d 設備ID或名稱
3. iOS嗦随、Android 運行效果

問題匯總

Q1. Got socket error trying to find package cupertino_icons at https://pub.dartlang.org.

# 修改flutter所需資源的訪問方式
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

Q2. Waiting for another flutter command to release the startup lock...

# 刪除flutter lockfile文件重新啟動
rm Desktop/GitHub/flutter/bin/cache/lockfile
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末列荔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子枚尼,更是在濱河造成了極大的恐慌贴浙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件署恍,死亡現(xiàn)場離奇詭異崎溃,居然都是意外死亡,警方通過查閱死者的電腦和手機盯质,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門袁串,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唤殴,你說我怎么就攤上這事般婆〉叫龋” “怎么了朵逝?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長乡范。 經(jīng)常有香客問我配名,道長,這世上最難降的妖魔是什么晋辆? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任渠脉,我火速辦了婚禮,結果婚禮上瓶佳,老公的妹妹穿的比我還像新娘芋膘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布为朋。 她就那樣靜靜地躺著臂拓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪习寸。 梳的紋絲不亂的頭發(fā)上胶惰,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音霞溪,去河邊找鬼孵滞。 笑死,一個胖子當著我的面吹牛鸯匹,可吹牛的內(nèi)容都是我干的坊饶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼殴蓬,長吁一口氣:“原來是場噩夢啊……” “哼幼东!你這毒婦竟也來了?” 一聲冷哼從身側響起科雳,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤根蟹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后糟秘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體简逮,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年尿赚,在試婚紗的時候發(fā)現(xiàn)自己被綠了散庶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡凌净,死狀恐怖悲龟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冰寻,我是刑警寧澤须教,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站斩芭,受9級特大地震影響轻腺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜划乖,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一贬养、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琴庵,春花似錦误算、人聲如沸仰美。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筒占。三九已至,卻和暖如春蜘犁,著一層夾襖步出監(jiān)牢的瞬間翰苫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工这橙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奏窑,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓屈扎,卻偏偏與公主長得像埃唯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鹰晨,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345