1.獲取Flutter SDK
1)去flutter官網(wǎng)下載其最新可用的安裝包
下載地址:https://flutter.dev/docs/development/tools/sdk/releases#macos
下載最新的穩(wěn)定版本
2)將下載的安裝包解壓到指定安裝目錄
可以在根目錄下單獨(dú)新建一個(gè)安裝文件夾
cmd+shift+g 輸入根路徑 ~/
新建文件夾- Flutter,把下載的安裝包解壓后的flutter文件拖進(jìn)去
或者使用終端操作 :
$ cd ~/
$ mkdir Flutter
$ cd ~/Flutter
$ unzip ~/Downloads/flutter_macos_v1.20.4.zip
2.設(shè)置flutter相關(guān)工具到path中,使用flutter指令
// 使用vim打開bash_profile文件
$ vim ~/.bash_profile
輸入i烟勋,進(jìn)入插入模式帝嗡,設(shè)置下面環(huán)境變量
export PATH=~/Flutter/flutter/bin:$PATH
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
點(diǎn)擊esc,退出當(dāng)前模式绰精,輸入:wq!或者:x保存內(nèi)容并退出瓣铣。
// 更新bash_profile文件
$source ~/.bash_profile
注:
若終端使用的是zsh干签,下次打開命令行運(yùn)行提示 zsh: command not found: flutter
flutter命令是一次性的术辐,需要重新執(zhí)行$source ~/.bash_profile
解決方案:
open ~/.zshrc
在后面添加source ~/.bash_profile
3.測(cè)試flutter指令及檢查flutter環(huán)境
// 查看 flutter 幫助文件
$flutter -h
若提示flutter命令不存在砚尽,檢查第二步是否出錯(cuò)
// 檢查flutter依賴項(xiàng)
$flutter doctor
根據(jù)提示安裝Android Studio
下載地址1:http://www.androiddevtools.cn/
下載地址2:https://developer.android.google.cn/studio/
安裝完成后,打開Andriod Studio ,安裝flutter插件
Android Studio–>Preferences–>點(diǎn)擊Plugins在輸入框中輸入flutter–>點(diǎn)擊安裝即可
安裝完成后辉词,重啟Android Studio
// 安裝完成后再次檢查flutter安裝環(huán)境
$flutter doctor
// 若出現(xiàn)Android licenses not accepted 錯(cuò)誤尉辑,按照要求運(yùn)行命令
$ flutter doctor --android-licenses
然后根據(jù)提示一直y,y到結(jié)束為止较屿。
// 完成后繼續(xù)檢查flutter 安裝環(huán)境
$flutter doctor
出現(xiàn) ? No issues found! 環(huán)境配置就完成了隧魄!
若安裝Android Studio (version 4.1),由于插件安裝目錄與之前的安裝目錄發(fā)生變化隘蝎,doctor檢測(cè)時(shí)會(huì)檢測(cè)不到安裝的flutter和dart插件
舊目錄: ~/Library/Application\ Support/AndroidStudio4.1
新目錄: ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins
解決辦法指令軟鏈接一下目錄:
ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
4.創(chuàng)建flutter項(xiàng)目
創(chuàng)建flutter項(xiàng)目時(shí)可以看到
Create New Flutter Project 選擇 Flutter Application 創(chuàng)建項(xiàng)目
5.flutter項(xiàng)目結(jié)構(gòu)分析
android:Andorid相關(guān)代碼目錄购啄,里面代碼配置和單獨(dú)創(chuàng)建Andorid項(xiàng)目有些不一樣。
ios:iOS相關(guān)代碼目錄嘱么,存放Flutter與ios原生交互的一些代碼狮含。
lib:應(yīng)用源文件,dart文件,核心文件几迄,可以創(chuàng)建不同的文件夾蔚龙,存放不同文件。flutter開發(fā)文件主要在此目錄下完成映胁。
test:測(cè)試文件木羹。
.gitignore:忽略文件,記錄一些不需要關(guān)注變更記錄的文件解孙,就是不添加到版本記錄里面坑填。
.metadata:記錄一些Flutter。 project一些基本信息弛姜,如版本脐瑰,項(xiàng)目類型。
.packages:記錄一些lib文件的路徑廷臼。
.iml:是由IntelliJ IDEA創(chuàng)建的模塊文件苍在,用于開發(fā)Java應(yīng)用程序的IDE。它存儲(chǔ)有關(guān)開發(fā)模塊的信息荠商,該模塊可能是Java忌穿,Plugin,Android或Maven組件; 保存模塊路徑结啼,依賴關(guān)系和其他設(shè)置掠剑。
pubspec.lock:這是根據(jù)當(dāng)前項(xiàng)目依賴所生成的文件,記錄當(dāng)前使用的依賴版本郊愧。
pubspec.yaml:包含F(xiàn)lutter應(yīng)用程序的包數(shù)據(jù)朴译,這個(gè)是配置依賴項(xiàng)的文件,比如配置遠(yuǎn)程public倉(cāng)庫(kù)的依賴項(xiàng)属铁,或者本地資源(圖片眠寿,音視頻)。
README.md:項(xiàng)目信息介紹焦蘑。
6.運(yùn)行項(xiàng)目
編輯main.dart 文件盯拱,可以嘗試顯示個(gè)“Hello world”,把main.dart中所有代碼去掉例嘱,替換為下面代碼:
import 'package:flutter/material.dart';
//這個(gè)是Dart中單行函數(shù)或者方法的簡(jiǎn)寫
void main() => runApp(MyApp());
//程序繼承StatelessWidget狡逢,該應(yīng)用程序成為一個(gè)widget,在Flutter中拼卵,大多數(shù)東西都是widget
class MyApp extends StatelessWidget {
// 這個(gè)是應(yīng)用的根widget
@override
Widget build(BuildContext context) {
//注意:一個(gè)app只能有一個(gè)MaterialApp
return MaterialApp(
//標(biāo)題欄的名字
title: 'Hello Flutter',
//這個(gè)是Material library提供的一個(gè)widget奢浑,它提供了默認(rèn)的導(dǎo)航欄、標(biāo)題欄
//包含主屏幕的widget樹的body屬性
home:new Scaffold(
appBar:new AppBar(
title:const Text("Weclome to Flutter"),
),
body:const Center(
child:const Text("Hello World"),
),
),
);
}
}
選擇模擬器腋腮,運(yùn)行雀彼!
若無(wú)法連接模擬器壤蚜,可以重啟Android Studio,重起仍然無(wú)法連接,執(zhí)行命令行:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
然后重啟Android Studio 就能正常連接了徊哑。