前言
本篇文章主要介紹在 Mac 環境搭建 Flutter 的相關流程及可能遇到的一些問題的解決方案。Flutter 官方其實已經提供了很全面的 安裝流程 , 所以這裡主要講的還是一些大家可能遇到的環境問題的解決辦法。
環境搭建
Flutter 開發環境需要安裝 JDK,Android SDK 和 Flutter SDK, 這是必須的三個基礎依賴,我們在安裝過程中,這三部分可以並行,這樣可以節省一些時間。
安裝Flutter
在國內使用 Flutter ,由於網路環境限制,我們可以訪問國內映象來加快速度,Flutter 應用的執行也有硬體裝置的要求,可參照官網示例 。
-
配置環境變數。
export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
根據 shell 工具的不同,需要配置不同的檔案。這裡說明對於bash和zsh的操作,使用 bash 時,環境變數配置在使用者目錄 .bash_profile 下,使用 zsh 時,環境變數配置在使用者目錄 .zshrc 檔案下。如果這不到這兩個檔案,可以相應的建立並編輯。
-
bash
vim ~/.bash_profile 複製程式碼
-
zsh
vim ~/.zshrc 複製程式碼
-
去flutter官網下載其最新可用的安裝包。
-
解壓安裝包到你想安裝的目錄。
cd ~/development unzip ~/Downloads/flutter_macos_v0.5.1-beta.zip 複製程式碼
-
新增 Flutter 環境變數
在第1步的配置檔案中新增配置如下
到這裡,有關於 Flutter 的配置就結束了。
安裝Android環境
我在本地開發中,搭建了 android 開發環境,所以此處僅就 android 配置進行說明。我們真正需要的是 Android SDK,一般通過安裝 Android Studio來安裝 SDK, 這樣我們可以選擇使用 AS 作為我們的開發 IDE。
-
下載
在 Android 官網下載 AS。
-
安裝
我安裝的版本是 AS 3.6 preview, 安裝過程中可能發現 SDK 安裝失敗,伺服器訪問超時,導致後續軟體無法執行。解決辦法有以下幾種:
-
雲伺服器訪問
這是目前為止我找到解決網路問題最簡單的方法,使用雲伺服器進行網路轉發。(連結)我們需要下載的包主要在 dl.google.com 這個域名下,找到可以轉發的 IP ,配置 host 即可解決問題。
vim /etc/hosts 複製程式碼
IP 可能只是臨時有效,發現下載緩慢時,可以在上面連結找一個速度更快的 IP,切換以下 host 配置即可。
複製程式碼
-
翻牆
購買或搭建梯子來下載外網服務,這個成本比較高,也比較花時間。
-
配置代理
具體的代理伺服器需要自行查詢。
Android SDK 本身比較大,所以下載可能需要等比較長時間,只要不報錯就說明 SDK 安裝成功了。解決網路問題後,其他內容就比較簡單了,一直往下點下一步就可以。
安裝JDK
-
安裝
在 Android 平臺開發 Flutter 應用必須安裝 JDK, 並且安裝的 JDK 版本需要和 Android 版本適配,否則應用也是跑不起來的,在這一塊也折騰了很長時間。自測 Android 10 適配 JDK8 , JDK 版本不能過高。(適配表)
- 檢測
安裝後,在命令列輸入 java -version 檢視下版本,確認是否安裝成功。如果 java 指令無效,則需要配置下環境變數。
安裝 Android 模擬器
完成以上步驟後,環境基本上已經處理好了。通常除錯應用,我們可以通過連結裝置或者使用 Android 模擬器。 體驗上講,模擬器會更好一些,我們可以測試不同的裝置型號。
-
安裝模擬器
AS 自帶了模擬器,可以點選 IDE 右上角手機按鈕,再根據自己的需要下載對應的模擬器裝置。
-
執行模擬器
下載好模擬器之後,點選執行,開啟模擬器之後, 先開啟開發者選項,再開啟USB debugging,步驟如下。完成後,模擬器除錯就結束了。
執行應用
下來就是配置一下我們的 IDE 了。開發過程可以選用 Android Studio 或者 VS code。為了支援 Flutter , 需要為 IDE 安裝 Flutter 擴充套件外掛。
- AS 配置
可在 AS Plugin 中,搜尋 FLutter , 安裝並重啟。安裝成功後,安裝 Flutter 官方步驟新建一個工程,在 IDE 上方選中入口檔案並執行。
- VS code 配置
在 VS code 中安裝 Flutter 和 Dart 外掛。命令後中輸入 flutter run ,觀察模擬器可以看到應用正常啟動了。
結語
整個環境搭建過程,出現了比較多的問題,最後發現基本上都是網路問題導致軟體包沒有安裝成功以及Android版本和JDK版本不相容。各種搜尋才找到了可行的方案,最終跑起來了 Flutter 應用。
我們未來的常用的消費類終端裝置必然是面向更輕巧,更便攜的。目前移動裝置的市場十分廣泛,基本佔領了消費者的主要市場。作為開發者,還是很有必要了解一下現階移動端開發的相關內容的。
FLutter 作為一款跨平臺的原生開發框架,目前市場火熱,也得到了很多企業級的應用,能夠顯著提升生產效率。大家還不快來了解一下?