Flutter 即學即用系列博客——01 環境搭建

来源:https://www.cnblogs.com/nesger/archive/2019/02/12/10366903.html
-Advertisement-
Play Games

前言 工欲善其事,必先利其器 所以第一篇我們來說說 Flutter 環境的搭建。 筆者這邊使用的是 MAC 電腦,因此以 MAC 電腦的環境搭建為例。 Windows 或者 Linux 也是類似的操作。 Flutter 有英文版的官網和中文網,大家可以根據自己的喜好和情況進行選擇。 點擊下麵的鏈接可 ...


前言

工欲善其事,必先利其器

所以第一篇我們來說說 Flutter 環境的搭建。

筆者這邊使用的是 MAC 電腦,因此以 MAC 電腦的環境搭建為例。

Windows 或者 Linux 也是類似的操作。

Flutter 有英文版的官網和中文網,大家可以根據自己的喜好和情況進行選擇。

點擊下麵的鏈接可以到對應的安裝頁面。
Flutter 官網安裝鏈接
Flutter 中文網安裝鏈接

我們這邊以官網為例進行說明。

目錄

1. 配置鏡像

點擊進入官網,可以看到下圖:

我們點擊 Using Flutter in China 進入:

可以看到主要是讓我們配置鏡像站點。

所以我們就將要求的兩個環境變數添加到系統就可以了。

打開 terminal,看下當前用戶下麵是否有 bash_profile 文件,執行命令:

vi ~/.bash_profile

如果底部有

"~/.bash_profile" [New File]

說明之前沒有存在過這個文件。

不管之前是否存在過該文件,我們在末尾追加上面的兩個環境變數即可。

如果不熟悉 vi 操作,可以參考下麵兩篇文章或者額外瞭解。
linux Vi操作和使用方法詳解
Linux vi/vim

將上面兩個環境變數添加到 bash_profile 文件,文件新增的兩行應該類似下麵(鏡像地址可能有變動,以上面官網為主,筆者此刻就是下麵的):

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

接著執行命令:

source ~/.bash_profile  
echo $PUB_HOSTED_URL

如果列印出了你輸入的鏡像,說明沒有問題,設置成功了。

主要目的是追加兩個環境變數,如果你習慣用文件打開,也可以打開文件後直接追加

回到安裝頁面,點擊 macOS。

2. 獲取 Flutter SDK

從圖中可以看到,當前的目標是獲取 Flutter SDK。

點擊藍色按鈕,下載 Flutter SDK。
下載完成之後解壓到自己想放置的目錄(建議路徑不要包含中文)。

這裡假設我們將壓縮包解壓到的路徑為 ~/flutter。

首先把下載下來的壓縮包移動到 ~/flutter。
我這邊下載的壓縮包為flutter_macos_v1.0.0-stable.zip,執行命令

unzip flutter_macos_v1.0.0-stable.zip

執行完成之後可以看到當前目錄多了一個 flutter 文件夾。
接下來就是要把 flutter 設置到環境變數以便在任何地方都可以執行 flutter 命令。
執行如下命令:

cd flutter/  
pwd

控制視窗會列印 flutter 根目錄。我這邊為/Users/nesger/flutter/flutter。

跟上面設置兩個環境變數操作類似,首先打開文件~/.bash_profile。
添加下麵語句:

export FLUTTER_ROOT=/Users/nesger/flutter/flutter
export PATH=$FLUTTER_ROOT/bin:$PATH

這裡定義了 flutter 根目錄並將其下麵的 bin 目錄設置到 PATH 裡面。
保存退出後執行

source ~/.bash_profile

NOTE:執行該命令後你當前視窗和新開的視窗就都可以直接運行 flutter 命令了。但是之前開的視窗就不可以了。如果需要之前的視窗也可以,就需要在對應視窗執行上面的 source ~/.bash_profile 命令

3. 執行 flutter doctor 完善相關工具鏈

運行

flutter doctor

會列印 flutter 需要的工具鏈是否完善。(NOTE: 這個命令後面會多次用到)

可以看出一些端倪。
顯示一些警告。
按照上面提示進行處理即可。

舉個例子:

✗ Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

這邊說 Android licenses 沒有 accepted,執行

flutter doctor --android-licenses

然後不斷點擊 y 表示同意就可以了。

我們運行之後,再使用

flutter doctor

可以看到已經修複了

接下來就是 iOS toolchain 以及 Android Studio 兩個插件的安裝。
對於 Android 開發來說,其實 iOS toolchain 不修複也沒問題。
我們先修複 flutter 插件安裝。

NOTE:Android Studio 版本需要 3.0 或者更高版本,不然會有坑,這邊為了演示一下坑及遇到的解決方法。所以這邊先用版本 2.3.3 進行演示。讀者最好先升級版本到 3.0。步驟是一樣的。

第一步:Android Studio->Preferences
第一步:Android Studio->Preferences
第二步:點擊左側 Plugins
第二步:點擊左側 Plugins
第三步:輸入 flutter,點擊 Search in repositories
第三步:輸入 flutter,點擊 Search in repositories
第四步:點擊 Install
第四步:點擊 Install
第五步:dart 一起安裝
第五步:dart 一起安裝

安裝完成之後重啟 Android Studio,然後在終端執行命令

flutter doctor

可以看到 Flutter 插件安裝好了,只不過這裡提示版本不夠新。
如果你的 Android Studio 版本為 3.0 或者更高,就不會報錯,那麼可以忽略下麵的修複步驟。

修複步驟:
重啟 Android Studio 並沒有看到直接創建 Flutter 項目。
筆者這邊 Android Studio 版本為 2.3.3。
而 Flutter 需要 Android Studio 3.0 或者更高版本支持。
這邊更新 Android Studio 之後重啟。
可以看到執行 flutter doctor 命令之後 Android Studio 確實是 3.3 版本了。

但是 Flutter 依然不是最新的,需要到 plugins 去更新。
此外,還需要更新 dart。
更新完之後就可以看到創建 Flutter 項目了。

到了這裡基本上對於 Android 開發的你來說環境搭建就完成了。

4. 擴展

可以看到上面有個 iOS toolchain,基於下麵幾點,我想修複這個。

  1. 我的機器安裝了 Xcode。
  2. 剛接觸 Flutter,想多點嘗試,也想看看 Flutter 代碼在 iOS 運行效果。
  3. 聽說 iOS 開發都用模擬器,想體驗下 iOS 模擬器。
    Android 的模擬器大家都懂,反正我大部分是用真機調試。

所以按照上面的提示,Xcode 完全安裝以及運行相應命令。
但是遇到了一個坑,就是依然報錯。
所以我直接將提示的命令一步執行,結果可以了。

在 GitHub 上面還幫助到了一個 iOS 開發者。
flutter doctor 提示 iOS toolchain 有些錯誤

更多環境搭建問題和解決方案大家都可以提 issue 哦~
也許別人剛好就解決了你遇到的問題
Flutter Issue 集合


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 從本質上區別: 1、空值不占空間 2、null值占空間 通俗的講: 空值就像是一個真空轉態杯子,什麼都沒有,而null值就是一個裝滿空氣的杯子,雖然看起來都是一樣的,但是有著本質的區別。 例子: 創建一個test表,colA是不可以存放null值的,colB是能存放null值的。 1 CREATE ...
  • MERGE 存儲引擎把一組 MyISAM 數據表當做一個邏輯單元來對待,讓我們可以同時對他們進行查詢。構成一個 MERGE 數據表結構的各成員 MyISAM 數據表必須具有完全一樣的表結構。每一個成員數據表的數據列必須按照同樣的順序定義同樣的名字和類型,索引也必須按照同樣的順序和同樣的方式定義。假設 ...
  • SELECT dbms_lob.substr(dbms_metadata.get_ddl('INDEX', INDEX_NAME))||';' from dba_indexes where owner='需要導出所有索引的用戶' refer to:https://www.cnblogs.com/lh ...
  • 當需要周期性的去執行一個方法時,我們可以先寫好方法,然後交給資料庫去完成就可以的。 步驟:首先打開SQL資料庫中SQLServer代理--》右鍵作業--》新建作業: 如果SQL Server代理被禁用了,那就郵件啟動代理即可; 或者這樣: 選擇電腦——>設備管理——>服務與應用程式——>服務——> ...
  • Linux中安裝完Oracle後,預設的 上下鍵是不能用的,安裝了 之後就能通過上下鍵翻回歷史命令了 1. 下載地址 "https://github.com/hanslub42/rlwrap/releases" 2. 安裝步驟 安裝readline 及 依賴 上傳、解壓、編譯、安裝rlwrap 配置 ...
  • 一、下載安裝 MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係數據 ...
  • 禁用觸發器: 啟用觸發器: ...
  • SQLite資料庫簡介 SQLite 是一個輕量級資料庫,它是D. Richard Hipp建立的公有領域項目,在2000年發佈了第一個版本。它的設計目標是嵌入式的,而且占用資源非常低,在記憶體中只需要占用幾百kB的存儲空間,這也是Android移動設備採用SQLite資料庫的重要原因之一。 SQLi ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...