Mac電腦Flutter開(kāi)發(fā)環(huán)境搭建

Flutter簡(jiǎn)介

Flutter 是 Google推出并開(kāi)源的移動(dòng)應(yīng)用開(kāi)發(fā)框架,主打跨平臺(tái)、高保真、高性能。開(kāi)發(fā)者可以通過(guò) Dart語(yǔ)言開(kāi)發(fā) App,一套代碼同時(shí)運(yùn)行在 iOS 和 Android平臺(tái)。 Flutter提供了豐富的組件、接口,開(kāi)發(fā)者可以很快地為 Flutter添加 native擴(kuò)展。同時(shí) Flutter還使用 Native引擎渲染視圖,這無(wú)疑能為用戶提供良好的體驗(yàn)。

本文大部分是參考自Flutter官網(wǎng)Flutter中文網(wǎng)配套自己的親自實(shí)踐

系統(tǒng)要求
要安裝并運(yùn)行Flutter,您的開(kāi)發(fā)環(huán)境必須滿足以下最低要求:

  • 操作系統(tǒng): macOS (64-bit)
  • 磁盤空間: 700 MB (不包括Xcode或Android Studio的磁盤空間).
  • 工具: Flutter 依賴下面這些命令行工具.

bash、mkdir、rm、git、curl、unzip、which

1.安裝Flutter

下載地址: https://flutter.dev/docs/get-started/install/macos

下載Flutter.png

下載到一個(gè)適合的路徑,筆者是放到了個(gè)人Users路徑下。

2.添加flutter相關(guān)工具到path中
//執(zhí)行命令
open ~/.bash_profile
//在打開(kāi)的配置文件中,添加下面文件,注意最下面那個(gè)路徑要改成你下載好的flutter的路徑
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Users/moxuyou/flutter/bin:$PATH

保存退出,完成上面操作之后,執(zhí)行

//1.刷新當(dāng)前終端窗口
source $HOME/.bash_profile
//2.查看Flutter配置是否已經(jīng)在PATH環(huán)境變量
echo $PATH

之后cd進(jìn)入到你下載好Flutter的路徑,如筆者是/Users/moxuyou/flutter,接著執(zhí)行flutter doctor命令。這時(shí)候會(huì)下載您可能需要安裝的剩余依賴項(xiàng)(時(shí)間比較長(zhǎng))。
在上面執(zhí)行完成之后,一般的錯(cuò)誤會(huì)是xcode或Android Studio版本太低、或者沒(méi)有ANDROID_HOME環(huán)境變量等,請(qǐng)按照提示解決。本機(jī)執(zhí)行flutter doctor命令后提示老版本,需更新至最新版本。
執(zhí)行flutter upgrade可以升級(jí)flutter sdk。該命令會(huì)同時(shí)更新Flutter SDK和你的flutter項(xiàng)目依賴包。如果你只想更新項(xiàng)目依賴包(不包括Flutter SDK),可以使用如下命令:
flutter packages get獲取項(xiàng)目所有的依賴包。
flutter packages upgrade 獲取項(xiàng)目所有依賴包的最新版本。

接下來(lái)安裝Android Studio,過(guò)程在此不一描述,參考

3.Android Studio配置Flutter環(huán)境
  • 啟動(dòng)Android Studio.
  • 打開(kāi)插件首選項(xiàng) (Preferences>Plugins,Marketplace)或者快捷鍵comment , ,找到Plugins>Marketplace.
  • 搜索Flutter找到插件并點(diǎn)擊 install安裝。


    安裝Flutter插件.png

在安裝完成之后,重啟Android Studio后插件生效.
接下來(lái)配置Android Studio的Flutter路徑:

配置Flutter路徑.png

接下來(lái)配置配置Android Studio的Dart SDK路徑
配置Dark路徑.png

在上面環(huán)境都配置完成之后,我們就可以創(chuàng)建我們第一個(gè)Flutter項(xiàng)目了。
創(chuàng)建Flutter項(xiàng)目.png

運(yùn)行項(xiàng)目:
運(yùn)行Flutter項(xiàng)目.png

體驗(yàn)熱重載
1.打開(kāi)lib/main.dart文件。
2.將字符串 'You have pushed the button this many times:' 更改為 'You have click the button this many times:'。
3.不要按“停止”按鈕; 直接點(diǎn)擊那個(gè)??按鈕,讓您的應(yīng)用繼續(xù)運(yùn)行,并刷新顯示出效果。
熱重載能大大的減少我們的開(kāi)發(fā)時(shí)間,以后調(diào)UI不需要要重新跑一遍項(xiàng)目,修改完成之后立馬出效果。
下面是運(yùn)行的效果:
第一次運(yùn)行項(xiàng)目.png

如果你想運(yùn)行真機(jī),你需要依次執(zhí)行下面的命令行:

brew update
brew install --HEAD libimobiledevice
brew install ideviceinstaller ios-deploy cocoapods
pod setup

iOS設(shè)備需要配置證書。
下面直接拷貝自Flutter中文文檔。

  • 在你Flutter項(xiàng)目目錄中通過(guò) open ios/Runner.xcworkspace 打開(kāi)默認(rèn)的Xcode workspace.

  • 在Xcode中,選擇導(dǎo)航面板左側(cè)中的Runner項(xiàng)目。

  • Runner target設(shè)置頁(yè)面中,確保在 General > Signing > Team 下選擇了你的開(kāi)發(fā)團(tuán)隊(duì)。當(dāng)你選擇一個(gè)團(tuán)隊(duì)時(shí),Xcode會(huì)創(chuàng)建并下載開(kāi)發(fā)證書,向你的設(shè)備注冊(cè)你的帳戶,并創(chuàng)建和下載配置文件(如果需要)。

  • 要開(kāi)始您的第一個(gè)iOS開(kāi)發(fā)項(xiàng)目,您可能需要使用您的Apple ID登錄Xcode。

    xcode賬號(hào)

    任何Apple ID都支持開(kāi)發(fā)和測(cè)試,但若想將應(yīng)用分發(fā)到App Store,就必須注冊(cè)Apple開(kāi)發(fā)者計(jì)劃,有關(guān)詳情讀者可以自行了解。

  • 當(dāng)您第一次attach真機(jī)設(shè)備進(jìn)行iOS開(kāi)發(fā)時(shí),需要同時(shí)信任你的Mac和該設(shè)備上的開(kāi)發(fā)證書。首次將iOS設(shè)備連接到Mac時(shí),請(qǐng)?jiān)趯?duì)話框中選擇 Trust

    添加信任

    然后,轉(zhuǎn)到iOS設(shè)備上的設(shè)置菜單,選擇 常規(guī)>設(shè)備管理 并信任您的證書。

  • 如果Xcode中的自動(dòng)簽名失敗,請(qǐng)驗(yàn)證項(xiàng)目的 General > Identity > Bundle Identifier 值是否唯一.

    驗(yàn)證bundle id是否唯一
  • 運(yùn)行 flutter run啟動(dòng)flutter應(yīng)用程序(如果有多個(gè)運(yùn)行設(shè)備,則需要運(yùn)行命令flutter run -d 設(shè)備名)。

至此一個(gè)基本的flutter項(xiàng)目就配置完成了。除了Android Studio,F(xiàn)lutter還支持VSCode開(kāi)發(fā),下面再介紹下VSCode環(huán)境下創(chuàng)建/運(yùn)行Flutter項(xiàng)目

VS Code安裝flutter插件

1.VS Code請(qǐng)自行安裝,安裝完成之后啟動(dòng) VS Code。
2.調(diào)用 View>Command Palette…。
3.輸入 ‘install’, 然后選擇 Extensions: Install Extension action。
4.在搜索框輸入 flutter ,在搜索結(jié)果列表中選擇 ‘Flutter’, 然后點(diǎn)擊 Install。
5.選擇 ‘OK’ 重新啟動(dòng) VS Code。
6.驗(yàn)證配置

  • 調(diào)用 View>Command Palette…
  • 輸入 ‘doctor’, 然后選擇 ‘Flutter: Run Flutter Doctor’ action。
  • 查看“OUTPUT”窗口中的輸出是否有問(wèn)題
創(chuàng)建Flutter應(yīng)用

1.啟動(dòng) VS Code
2.調(diào)用 View>Command Palette…
3.輸入 ‘flutter’, 然后選擇 ‘Flutter: New Project’ action
4.輸入 Project 名稱 (如myapp), 然后按回車鍵
5.指定放置項(xiàng)目的位置,然后按藍(lán)色的確定按鈕
6.等待項(xiàng)目創(chuàng)建繼續(xù),并顯示main.dart文件

體驗(yàn)熱重載

1.打開(kāi)lib/main.dart文件。
2.將字符串 'You have pushed the button this many times:' 更改為 'You have clicked the button this many times:'。
3.不要按“停止”按鈕; 讓您的應(yīng)用繼續(xù)運(yùn)行。
4.要查看您的更改,請(qǐng)調(diào)用 Save (cmd-s / ctrl-s), 或者點(diǎn)擊 熱重載按鈕 (綠色圓形箭頭按鈕)。
你會(huì)立即在運(yùn)行的應(yīng)用程序中看到更新的字符串。

連接設(shè)備運(yùn)行Flutter應(yīng)用

Window下只支持為Android設(shè)備構(gòu)建并運(yùn)行Flutter應(yīng)用,而macOS同時(shí)支持iOS和Android設(shè)備。下面分別介紹如何連接Android和iOS設(shè)備來(lái)運(yùn)行flutter應(yīng)用。

連接Android模擬器

要準(zhǔn)備在Android模擬器上運(yùn)行并測(cè)試Flutter應(yīng)用,請(qǐng)按照以下步驟操作:

  1. 啟動(dòng) Android Studio>Tools>Android>AVD Manager 并選擇 Create Virtual Device.

  2. 選擇一個(gè)設(shè)備并選擇 Next。

  3. 為要模擬的Android版本選擇一個(gè)或多個(gè)系統(tǒng)印象,然后選擇 Next. 建議使用 x86x86_64 image .

  4. 在 “Emulated Performance”下, 選擇 Hardware - GLES 2.0 以啟用 硬件加速.

  5. 驗(yàn)證AVD配置是否正確,然后選擇 Finish。

    有關(guān)上述步驟的詳細(xì)信息,請(qǐng)參閱 Managing AVDs.

  6. 在“Android Virtual Device Manager”中,點(diǎn)擊工具欄的 Run。模擬器啟動(dòng)并顯示所選操作系統(tǒng)版本或設(shè)備的啟動(dòng)畫面。

  7. 運(yùn)行 flutter run 啟動(dòng)您的設(shè)備。 連接的設(shè)備名是 Android SDK built for <platform>,其中 platform 是芯片系列,如 x86。

連接Android真機(jī)設(shè)備

要準(zhǔn)備在Android設(shè)備上運(yùn)行并測(cè)試Flutter應(yīng)用,需要Android 4.1(API level 16)或更高版本的Android設(shè)備.

  1. 在Android設(shè)備上啟用 開(kāi)發(fā)人員選項(xiàng)USB調(diào)試 。詳細(xì)說(shuō)明可在Android文檔中找到。
  2. 使用USB將手機(jī)插入電腦。如果設(shè)備出現(xiàn)調(diào)試授權(quán)提示,請(qǐng)授權(quán)你的電腦可以訪問(wèn)該設(shè)備。
  3. 在命令行運(yùn)行 flutter devices 命令以驗(yàn)證Flutter識(shí)別您連接的Android設(shè)備。
  4. 運(yùn)行啟動(dòng)你應(yīng)用程序 flutter run。

默認(rèn)情況下,F(xiàn)lutter使用的Android SDK版本是基于你的 adb 工具版本。 如果想讓Flutter使用不同版本的Android SDK,則必須將該 ANDROID_HOME 環(huán)境變量設(shè)置為相應(yīng)的SDK安裝目錄。

連接iOS模擬器

要準(zhǔn)備在iOS模擬器上運(yùn)行并測(cè)試Flutter應(yīng)用,請(qǐng)按以下步驟操作:

  1. 在你的MAC上,通過(guò) Spotlight 或以下命令找到模擬器:

    open -a Simulator
    
    
  2. 通過(guò)檢查模擬器 Hardware > Device 菜單中的設(shè)置,確保模擬器正在使用64位設(shè)備(iPhone 5s或更高版本)。

  3. 根據(jù)你電腦屏幕大小,模擬高清屏iOS設(shè)備可能會(huì)溢出屏幕??梢栽谀M器的 Window> Scale 菜單下設(shè)置設(shè)備比例。

  4. 運(yùn)行 flutter run啟動(dòng)flutter應(yīng)用程序。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評(píng)論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,497評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 176,305評(píng)論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 62,962評(píng)論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,727評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 55,193評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,411評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,945評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,777評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,978評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,216評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 34,642評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 35,878評(píng)論 1 286
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,657評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,960評(píng)論 2 373