Flutter入門:開發環境與開發工具的准備
原文鏈接:https://blog.csdn.net/JArchie520/article/details/91347607
目錄
前言
一、Flutter到底是什么?
二、開發系統與工具選擇
1、開發系統的選擇
2、開發工具的選擇
三、Flutter開發環境配置
1、系統要求
2、設置Flutter鏡像(非必須)
3、獲取Flutter SDK
四、iOS開發環境配置
1、安裝Xcode9.0或者更高的版本
2、配置Xcode命令行工具
3、確保Xcode許可協議是已經通過授權的
1、創建項目
2、查看項目目錄
3、運行項目
五、安卓開發環境配置
1、安裝JDK
2、安裝AndroidStudio
3、安裝Flutter插件和Dart插件
4、打開運行Flutter項目
前言
距離上一次寫文章到現在有小半年的時間了,產出確實有點低了,這也和個人的懶惰有很大的關系,今天正好抽出空來寫篇文章。一開始是打算寫一篇年中總結的,但是想了想這半年自己也沒什么值得說的分享給大家,所以還是聊點和技術相關的吧。最近在幾個群里,很多朋友都想要學習Flutter相關的技術,所以今天就和大家來聊聊這個時下很熱門的一個技術——Flutter,做移動端研發的應該多多少少都有聽過這個東西吧,尤其做安卓的,不知道的也沒關系,可以到谷歌或者百度上面搜索了解一下,我相信多多少少會讓你眼前一亮。
一、Flutter到底是什么?
我們在谷歌上搜索就可以看到很多和flutter相關的內容,簡單來說它是谷歌開發的一套開源的跨平台軟件開發工具包,最初是支持移動端跨平台開發,可以運行在Android和iOS兩個平台上。在今年5月份的谷歌I/O大會上,發布了Flutter 1.5預覽版,同時支持Android、iOS、Web、桌面和嵌入式設備,可以說是做到了全平台的支持,不過由於目前尚不成熟,它在國內的使用率並不高,不過可以看到它是Google Fuchsia系統的主要開發應用工具,這個Fuchsi也是谷歌正在研發的新的系統,可以說Flutter是頂着光環橫空出世的,未來前景還是非常好的。目前國內也有人在使用Flutter做移動端開發了,比如阿里的閑魚團隊就在部分模塊使用了Flutter做了混合式開發,這里有一份閑魚的訪談,可以看一下:https://mp.weixin.qq.com/s/kCa9qVBkvYRSAGmxyInIPQ。
Flutter的官方開發語音是Dart語言,它是谷歌開發的一門腳本語言,最初是為了替代JavaScript而生的,不過后來由於NodeJs的誕生,使得它又被遺忘在角落里了。不過它還是很幸運,被應用在了谷歌內部的一個名為Sky的移動開發框架項目上,從此進入了移動開發領域,后來這個Sky改了個名字,成為了現在的Flutter,並且Dart還被定為谷歌的未來操作系統Fuchsia的官方開發語言。在Dart2.0之前是弱類型語言,2.0開始變更為強類型語言,屬於應用層語言,有自己的DartVM,通常情況下運行在自己的虛擬機上,但是在特定情況下它也可以編譯成 Native Code 運行在硬件上(比如移動開發框架中,Flutter 會將代碼編譯成指定平台的 Native Code 以提高性能),它比 JAVA 簡單,易於理解,比JavaScript 更加規范,更加工程化。
二、開發系統與工具選擇
1、開發系統的選擇
Windows和Mac都可以用來開發Flutter,那么我們該選用哪一個呢?來看一張對比圖:
如果大家既想開發Android,又想開發iOS,在經濟允許的條件下可以選擇蘋果電腦,如果沒有iOS方面的需求,經濟條件有限的情況下可以選擇Windows電腦。
2、開發工具的選擇
該選用Android Studio還是Visual Studio Code呢?
AS和VSCode都可以用來開發Flutter,VSCode因為是前端開發工具,所以它無法調試我們的Android項目,所以我們如果選擇VSCode的話,還需要再裝一個AS,但是AndroidStudio不光可以開發Flutter,還可以開發調試Android項目,另外有一個很重要的點,它是谷歌的親兒子,因為Flutter是谷歌開發的,AndroidStudio也是谷歌開發的,所以Flutter的一些新特性,包括一些新的調試支持,AS是首先適配的,它的優先級要比VSCode高很多,所以推薦大家使用AS開發Flutter,它的開發體驗和調試支持要比VSCode更加成熟,也是官方推薦的Flutter開發工具。
三、Flutter開發環境配置
1、系統要求
這里先以Mac系統為例作為說明,后續條件滿足的話再補充Windows環境下的配置
2、設置Flutter鏡像(非必須)
這一步主要是為了方便那些沒有VPN或者不能FQ的朋友,因為訪問Flutter的環境需要能夠訪問外網。由於在國內訪問Flutter可能會受到限制,所以Flutter官方為中國開發者搭建了臨時鏡像,需要注意的是,這個鏡像是臨時鏡像,不能保證一直可以使用,可能會不定時的更新,大家可以從Flutter官網上面獲取鏡像服務器的最新動態:https://flutter.dev/community/china,打開網址頁面往下滑就可以看到了:
然后大家可以把找到的環境變量配置到自己的用戶環境變量中,如何配置呢?
首先打開終端,然后使用open -e .bash_profile命令打開我們的bash_profile文件,然后把上圖中的環境變量export那兩行復制放到profile文件的最后面,保存並關閉窗口,重新打開終端進入到文件中查看是否已經配置完畢,如下圖所示,這樣就完成了Flutter鏡像的配置工作。
3、獲取Flutter SDK
首先我們需要下載Flutter的SDK,這個可以到Flutter的官網上面進行下載,最好是下載一個穩定版的SDK:
我這邊是下載了1.2.1的版本,下載完成之后解壓安裝包到一個你想要安裝的目錄下面,這個目錄一定要記清楚,然后同樣的需要把它配置到環境變量里面,和2步的方法一致,配置到.bash_profile文件的最下方,注意這里需要配置一個全路徑到bin這一層,如下圖所示:
到這里我們的Flutter開發環境就已經配置完成了,我們可以在終端上通過 flutter doctor 命令來檢測一下是否安裝成功,這個命令第一次運行的時候會很慢,運行成功以后它會列出已經安裝配置好的列表項,我這里安裝的是1.2.1的穩定版:
四、iOS開發環境配置
1、安裝Xcode9.0或者更高的版本
這個大家可以根據自己的系統實際支持的版本而定,來下載自己需要的版本,兩種方式:一、可以到官網上下載:https://developer.apple.com/xcode/ ;二、可以到App Store上下載,但是第二種現在好像只有最新版的安裝包,所以如果你的系統不支持的話,還是需要自己去找到對應的版本下載。
2、配置Xcode命令行工具
通過命令:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 即可安裝xcode的命令行工具,后面的路徑需要根據自己的實際安裝路徑進行配置。
3、確保Xcode許可協議是已經通過授權的
如果沒有授權,可以通過一行命令來進行授權:sudo xcodebuild -license,如下圖所示,授權完成根據提示按q退出即可:
4、設置iOS模擬器
通過命令:open -a Simulator
五、創建運行一個簡單的Flutter項目
1、創建項目
通過命令:flutter create 項目名 來創建一個Flutter項目,如下圖我在桌面的FlutterProject文件夾中創建了一個flutter_app的項目
2、查看項目目錄
我們進入到項目中,查看里面都有哪些文件?
android、ios分別是flutter_app這個項目的安卓和iOS的宿主工程,pubspec.yaml是這個項目flutter依賴包配置的文件,lib是dart部分的代碼,里面默認有一個main.dart可以直接運行的。
3、運行項目
同樣的有兩種方式,先來說第一種,可以直接通過命令行的方式運行,到項目的根目錄下,然后通過命令:flutter run 即可運行項目;第二種通過Xcode工具打開項目的ios宿主工程,然后點擊運行按鈕也可以運行我們的項目,結果如圖所示:
五、安卓開發環境配置
1、安裝JDK
我想目前了解Flutter比較多的還是安卓從業者,所以相信大家對於安卓的開發環境都是很熟悉的,所以這里說的可能會快一點。首先需要安裝的是JDK,可以到Oracle官網上下載,最簡單的直接百度JDK下載就行了,我目前使用的是JDK1.8,下載完成之后,大家需要配置一下環境變量,這個網上有很多相關教程,大家可以自行查找:
2、安裝AndroidStudio
這里給大家分享一個我常用的工具下載的網站,關於安卓的一切你都可以在里面找到:https://www.androiddevtools.cn/,下載你需要的AS版本的安裝包解壓按步驟安裝即可,沒什么復雜的步驟。
3、安裝Flutter插件和Dart插件
打開AndroidStudio,在工具欄找到Plugins,然后搜索Flutter和Dart安裝重啟AndroidStudio即可:
4、打開運行Flutter項目
如果需要新建項目我們只需要start a new flutter project即可,按照步驟一步一步新建一個Flutter項目,如下圖所示:
因為我們已經創建好了一個項目,所以我們直接打開剛剛創建的flutter_app,然后選擇需要運行的模擬器或者真機,選擇main.dart文件,點擊運行按鈕即可運行我們的項目:
寫到這里,其實關於環境配置這塊基本上就說的差不多了,因為畢竟這是一個全新的東西,所以還有很多未知需要我們去發掘,這里也只是學習了一下最先導的配置環境,工欲善其事必先利其器,准備工作做好了,才能開心的擼代碼啊!
最后把Android和iOS兩個平台的運行效果都貼一下吧,算是個結語啦,我也是個新手有什么不對的,歡迎留言探討!
如下左側是Android平台,右側是iOS平台:
Flutter學習之Dart開發工具使用
Flutter學習之Dart基礎數據類型
Mac安裝Dart的SDK
Flutter快速入門 五步搞定Flutter環境配置
Flutter從入門到進階
iOS 真機調試包 --- 持續更新(PS:已更新13.3)
iOS開發者證書的那些事
IOS端App打包流程(Development版本)
iOS APP打包上傳到APPstore的最新步驟
iOS 最新AppStore申請加急審核 以及 apple聯系方式大全
ios真機調試教程(不上架App Store安裝到手機)
iOS打包ipa包
MacOS Mojave環境下安裝cocopod遇到的問題
CocoaPods官方使用指南
通過 sudo gem install -n /usr/local/bin cocoapods 安裝 cocoapods 出現下面的提示信息:

后來參考
MacOS 下安裝 flutter 遇到的一個依賴問題
該為brew 安裝cocoapods竟然可以成功了,命令如下|:
brew install cocoapods
然后安裝
pod setup

CocoaPods 最新源
關心最新mac系統升級之后安裝ruby 2.6.3之后 ruby2.3.5用不了,gem使用一直報錯解決辦法
解決辦法如下
解決辦法如下
https://github.com/rvm/rvm/issues/4781
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
rvm install 2.3.x --with-openssl-lib=/usr/local/opt/openssl/lib --with-openssl-include=/usr/local/opt/openssl/include
原文鏈接:https://blog.csdn.net/u012416928/article/details/104042879/
Dart 官網 :
flutter 中文官網:
https://flutter.dev/community/china
flutter 插件網
material官網
錯誤提示:
mkmf.rb can’t find header files for ruby at /System/Library/Frameworks/Ruby. framework/Versions/2.0/usr/lib/ruby/include/ruby.h
解決辦法:
xcode-select --switch /Applications/Xcode5-DP3.app/Contents/Developer ##設置擁有macos10.9 SDK的xcode目錄,貌似GM版本Xcode5和正式版沒有10.9SDK了。創建.sh腳本,並輸入如下內容:
sys_rb_usr=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr sdk_rb_usr=`xcode-select -p`/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr sudo cp -r $sdk_rb_usr/include $sys_rb_usr/include運行腳本文件,重啟問題解決。
【Mac OS】Mac部分目錄讀寫提示“Operation not permitted”解決
轉 https://blog.csdn.net/qq_28869927/article/details/83058386
問題解決
關閉Rootless
打開Rootless
問題產生
今天在將mac默認安裝的python2.7升級為python3時,終端運行:sudo mv /usr/bin/python /usr/bin/python_old
1
提示“Operation not permitted”,操作不成功。問題分析
筆者在此前一天剛把Ubuntu 18.04 LTS的Python2升級為Python3,同樣的方法並未提示操作不成功。故而推測可能是Mac在系統層面對某些目錄增加了保護機制,即使root權限用戶也不可讀寫。問題解決
查閱資料,發現是Mac OSX 系統中有一項Rootless機制,即使在root權限下也不能所以讀寫某些特定路徑的文件。Rootless可以有效防止惡意程序對電腦的破壞,平時建議保持開啟狀態。
為了實現上述目的,我們選擇手動關閉Rootless,在升級完Python之后再將其打開。關閉Rootless
重啟電腦,按住Command+R進入恢復模式,點擊菜單開啟Terminal,輸入:csrutil disable
1
重啟電腦即可。打開Rootless
同樣進入恢復模式,輸入:csrutil enable
1
如上所說,建議平時保持Rootless機制的開始,可以有效防止電腦遭受惡意程序的破壞。
Flutter iOS混合開發(基於Flutter v1.10.15)
[Flutter] OMG!Flutter v1.12.13部署IOS v13.3.1時出現閃退現象,並報錯"Thread 1:signal SIGABRT"
ios13.3.1 真機調試報錯 dyld: Library not loaded: @rpath/Flutter.framework/Flutter
ios13怎么降級
iOS13 怎么降級?保留數據降級方法來了
一鍵降級?蘋果iOS降級工具ReRa1n實測:有希望
Mac itunes備份的文件在哪里?
Flutter iOS 打包采坑...
Flutter 打包后運行閃退 release包閃退的解決辦法(android)
Flutter從1.12開始 ,默認開啟了混淆的 會遇到app閃退的情況,把它關閉即可,如果要用混淆的話,自行查閱 flutter 混淆的配置,開啟混淆只是減少無用資源和代碼壓縮使安裝包更小 開啟狀態需要配置規則文件才可避免閃退 不是很熟悉的話關閉就行了。
關閉混淆
//關閉混淆
minifyEnabled false //刪除無用代碼
shrinkResources false //刪除無用資源
在build.gradle中配置
原文鏈接:https://blog.csdn.net/weixin_38025168/article/details/104019388
【Flutter】ios打包Adhoc,真機安裝運行閃退
折騰了很久,查了各種日志。最后解決了,還是記錄一下吧,打包前先執行以下命令
flutter build ios
————————————————
原文鏈接:https://blog.csdn.net/zhuwei622/article/details/103711973
IOS 處理閃退崩潰問題
flutter 導入package:flutter/material.darts 報錯
原創和尚要洗頭 最后發布於2019-06-14 11:53:48 閱讀數 627 收藏
展開
網上下載的flutter demo運行不了,提示 "improt 'package:flutter/material.dart' not exit",網上搜索了下解決辦法,只需在項目目錄,打開終端,運行
flutter packages get
重啟下vscode 就可以了,希望能幫到遇到同樣問題的朋友。
————————————————
版權聲明:本文為CSDN博主「和尚要洗頭」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qianss520/article/details/91960720
