前言:時(shí)隔快三年缠局,又想到了寫博客記錄平日學(xué)習(xí)的點(diǎn)滴,還記得16年底的時(shí)候我還在小型外包企業(yè)哼哧哼
哧的搬磚,每天加班到半夜上遥,很辛苦,但是好不容易有休息的時(shí)間,總是想著逛逛博客均牢,那時(shí)候我還是剛剛
搬磚不到一年的菜鳥,雖然經(jīng)歷了外包高強(qiáng)度的壓力和多個(gè)方向的技術(shù)的洗禮才睹,但是隨著項(xiàng)目接觸越多越深
入徘跪,發(fā)現(xiàn)自己實(shí)現(xiàn)的功能越多,自己不會(huì)的東西越多琅攘,從java web到安卓垮庐,再到c++,似乎都能寫出來(lái)坞琴,但是
基礎(chǔ)都不扎實(shí)哨查,于是對(duì)知識(shí)越來(lái)越渴望,對(duì)自己的搬磚行為越來(lái)越不齒剧辐,在逛了郭林寒亥,張洪洋,任玉剛等大
佬的博客后荧关,我鼓起勇氣寫了第一篇博客溉奕,第一次寫很緊張,也不知道如何去排版忍啤,于是第一次花了兩天時(shí)
間擼了5000字左右加勤,刪了改改了刪,最后發(fā)出去還是滿滿的一大堆文字同波,在寫了幾次博客并且被人噴了以
后鳄梅,心灰意冷,決定關(guān)博参萄,然后從寫博客慢慢轉(zhuǎn)為寫筆記卫枝,第二年跳槽到了上海一家自主研發(fā)的企業(yè),終于
沒(méi)有那么多的加班讹挎,周末也有時(shí)間可以研究技術(shù)校赤,我的技術(shù)開(kāi)始逐步扎實(shí),把外包接觸到的技術(shù)棧從基礎(chǔ)認(rèn)
真的研究了一遍筒溃,花費(fèi)了很長(zhǎng)時(shí)間马篮,這過(guò)程中慢慢從一個(gè)只會(huì)搬磚的菜鳥逐步成長(zhǎng),寫了很多筆記怜奖,最近在
一些前輩的鼓勵(lì)下浑测,打算重新寫博客,即使現(xiàn)在博客排版依然不咋樣,但是我希望技術(shù)分享出去能幫助到其
他有需要的人迁央,哪怕只有一個(gè)掷匠,博客就是有意義的。由于這幾年重心都在java深入部分岖圈,突然發(fā)現(xiàn)安卓技術(shù)我
依然停留在EventBus的時(shí)代讹语,但是新技術(shù)如雨后春筍,不停的出現(xiàn)蜂科,mui顽决,react native,weex等跨平臺(tái)框架
崛起导匣,近年我司也讓我開(kāi)始使用混合開(kāi)發(fā)技術(shù)開(kāi)發(fā)安卓才菠,我便對(duì)主流的跨平臺(tái)開(kāi)發(fā)方案進(jìn)行了學(xué)習(xí),weex和
rn的坑層出不窮贡定,我司也只有我一個(gè)移動(dòng)開(kāi)發(fā)出身的人員赋访,不得已之下,使用mui厕氨、h5+的方案跨平臺(tái)開(kāi)發(fā)
app进每,當(dāng)app上線的時(shí)候,flutter這個(gè)之前沒(méi)任何聲響的跨平臺(tái)框架橫空出世一般命斧,席卷了我生活的圈子,國(guó)內(nèi)
大廠也開(kāi)始選擇flutter作為開(kāi)發(fā)方案嘱兼,一向?qū)夹g(shù)熱衷的我不愿意放棄国葬,也開(kāi)始了研究flutter之旅
flutter開(kāi)發(fā)環(huán)境安裝
想要使用flutter,必須要先安裝flutter的開(kāi)發(fā)環(huán)境芹壕,下面記錄一下flutter的開(kāi)發(fā)配置的流程:
-
下載flutter的sdk:
? 想要開(kāi)發(fā)flutter汇四,就需要下載flutter的sdk,推薦下載方式為github下載最新的環(huán)境踢涌,地址為:https://github.com/flutter/flutter/releases通孽,或者訪問(wèn)https://flutter.dev/docs/development/tools/sdk/archive#windows,選擇Stable channel選項(xiàng)下的穩(wěn)定sdk版本下載作為開(kāi)發(fā)環(huán)境
可以看到2019-2-27才更新了一個(gè)穩(wěn)定的大版本睁壁,1.2.1版本背苦,我們選擇點(diǎn)擊下載,網(wǎng)速可能有些慢潘明,可以選擇(本人)百度云下載flutterSDK版本(失效請(qǐng)回復(fù))行剂,地址為:鏈接:https://pan.baidu.com/s/1xpc2cAFgaDJR_obeOkj6Ig 提取碼:xefa
-
配置環(huán)境變量:
由于國(guó)內(nèi)訪問(wèn)的話會(huì)有墻的存在,受到不少限制钳降,所以我們國(guó)內(nèi)開(kāi)發(fā)的時(shí)候需要配置兩個(gè)環(huán)境變量提高訪問(wèn)速度厚宰,這個(gè)時(shí)候我們將剛剛下載的flutterSdk解壓到指定目錄(不要有中文路徑,盡量也不要給敏感目錄比如c盤下的用戶目錄下等)遂填,然后將當(dāng)前sdk下的bin目錄添加至環(huán)境變量中的path的最后一行铲觉,確認(rèn)無(wú)誤后保存path澈蝙,然后我們需要在環(huán)境變量中新增兩個(gè)flutter訪問(wèn)的環(huán)境變量,linux系統(tǒng)配置如下:
export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
如果是window撵幽,需要在系統(tǒng)變量下添加兩個(gè),分別如下:
變量 值 PUB_HOSTED_URL https://pub.flutter-io.cn FLUTTER_STORAGE_BASE_URL https://storage.flutter-io.cn
-
下載開(kāi)發(fā)工具:
配置好環(huán)境以后灯荧,我們需要下載配置對(duì)應(yīng)的開(kāi)發(fā)環(huán)境,喜歡原生安卓開(kāi)發(fā)的可以使用Android Stutio開(kāi)發(fā)并齐,前端開(kāi)發(fā)的也可以選擇安裝vsCode漏麦,(只要有一個(gè)就可以,Android Stutio/vsCode只要安裝了配置了就可以)况褪,安裝完畢以后撕贞,我們需要下載AndroidSdk,一般情況下我們使用AndroidStutio開(kāi)發(fā)的用戶只要打開(kāi)Android Stutio下載Sdk就可以测垛,這里貼出快捷下載AndroidStutio以及其他安卓開(kāi)發(fā)工具的網(wǎng)站,可以選擇自行下載:
-
檢測(cè)當(dāng)前flutter開(kāi)發(fā)環(huán)境問(wèn)題:
來(lái)到這一步捏膨,我們基本上前面的步驟已經(jīng)全部完成,但是我們?nèi)绾未_認(rèn)flutter環(huán)境可以開(kāi)發(fā)了呢食侮?flutterSdk給我們提供了一個(gè)cmd命令可以用來(lái)檢測(cè)flutter開(kāi)發(fā)必須的環(huán)境是否已經(jīng)完全準(zhǔn)備就緒号涯,我們需要打開(kāi)cmd窗口,或者PowerShell 窗口锯七,輸入:
flutter doctor
然后等待一段時(shí)間链快,就會(huì)出現(xiàn)類似如下的檢測(cè)結(jié)果:
[-] Android toolchain - develop for Android devices ? Android SDK at D:\Android\sdk ? Android SDK is missing command line tools; download from https://goo.gl/XxQghQ ? Try re-installing or updating your Android SDK, visit https://flutter.io/setup/#android-setup for detailed instructions.
這里我做過(guò)測(cè)試,檢測(cè)出來(lái)的結(jié)果如果前面是x標(biāo)志眉尸,說(shuō)明你當(dāng)前缺少該環(huán)境域蜗,你需要進(jìn)行一次環(huán)境檢查,如Adnroid Sdk前面是X噪猾,你就要確認(rèn)你當(dāng)前存在AndroidSdk霉祸,或者你確認(rèn)你使用Android Stutio可以創(chuàng)建一個(gè)安卓項(xiàng)目,并且能運(yùn)行袱蜡,(vsCode開(kāi)發(fā)的話丝蹭,需要檢查是不是配置了Android Sdk的環(huán)境變量),如果檢測(cè)的結(jié)果有X坪蚁,按照我多次測(cè)試的結(jié)果奔穿,一般開(kāi)發(fā)工具沒(méi)問(wèn)題的話,Android Sdk和Android Stutio檢測(cè)是X的情況下也可以開(kāi)發(fā)flutter(可能和開(kāi)發(fā)工具版本有關(guān)系迅细,盡量是不要存在X)巫橄,但是如果全部都是√說(shuō)明當(dāng)前所有環(huán)境都是符合條件,如果是!的話說(shuō)明當(dāng)前環(huán)境可能不符合或者版本不正確茵典,一般情況下只要不是X存在湘换,說(shuō)明我們當(dāng)前flutter的開(kāi)發(fā)環(huán)境已經(jīng)準(zhǔn)備就緒了
-
配置開(kāi)發(fā)flutter的插件
到了當(dāng)前這一步,我們就打開(kāi)開(kāi)發(fā)工具創(chuàng)建一個(gè)flutter項(xiàng)目吧,打開(kāi)AndroidStutio彩倚,在插件那里查詢flutter插件筹我,然后選擇下載,AndroidStutio就會(huì)默認(rèn)下載Dart和flutter兩個(gè)插件配置進(jìn)來(lái)帆离,然后重啟當(dāng)前編譯器蔬蕊,再次打開(kāi)的時(shí)候,我們就可以在創(chuàng)建項(xiàng)目的時(shí)候多一個(gè)選擇創(chuàng)建flutter的選項(xiàng)了哥谷,具體步驟如下:
選擇 File>New Flutter Project 選擇 Flutter application 作為 project 類型, 然后點(diǎn)擊 Next 輸入項(xiàng)目名稱 (如 myapp), 然后點(diǎn)擊 Next 點(diǎn)擊 Finish 等待Android Studio安裝SDK并創(chuàng)建項(xiàng)目.
注意:這里創(chuàng)建項(xiàng)目的時(shí)候有可能出現(xiàn)創(chuàng)建了十分鐘甚至更久的情況(我每次都能遇到卡住不動(dòng)的情況岸夯,無(wú)論是公司的網(wǎng)絡(luò)還是家中百兆電信,都是一樣的結(jié)果们妥,)我們的解決方案如下:
任務(wù)管理器中強(qiáng)制關(guān)閉當(dāng)前開(kāi)發(fā)工具 然后重啟開(kāi)發(fā)工具 找到剛剛創(chuàng)建flutter工程的目錄猜扮,導(dǎo)入當(dāng)前工程,這個(gè)時(shí)候我們會(huì)發(fā)現(xiàn)界面報(bào)錯(cuò)很多 可以根據(jù)控制臺(tái)看看報(bào)錯(cuò)是什么监婶,百度就可以找到對(duì)應(yīng)的解決方案旅赢,也可以選擇重新編譯試下(我每次重新編譯完畢以后就沒(méi)問(wèn)題了,可能這就是谷歌開(kāi)發(fā)的框架遺留的問(wèn)題惑惶,也可能是idea系列開(kāi)發(fā)工具的通病煮盼,各種無(wú)緣無(wú)故抽風(fēng))
好了,至此带污,flutter的開(kāi)發(fā)環(huán)境就完全搭建好了
另附flutter中文網(wǎng)站以及vsCode開(kāi)發(fā)flutter的配置相關(guān)博客供用戶參考
Window Flutter 環(huán)境搭建(VSCode + 單獨(dú)運(yùn)行Android 虛擬機(jī))