1. 程式人生 > >flutter入門-flutter開發環境搭建

flutter入門-flutter開發環境搭建

Flutter是谷歌新推出的一款能夠支援Android和IOS跨平臺開發的全新的UI框架。目前來看,還是有點小火爆的,有引領下一代移動開發的勢頭。

特別是,在Oracle馬上要將Java收費的情況下,或許是未來的一個很好的額選擇。

Flutter擁有自己的一套UI渲染引擎,所以目前的測試資料來看,在效能上面,並沒有比原生App效能低多少,所以目前來看,還是一套可以跟進的跨平臺方案。

https://flutterchina.club是一個不錯的學習平臺。不過上面很多內容並沒有很好的更新,所以存在一系列的問題。

這裡重新整理一下windows下開發環境的搭建。

系統要求

1. win7 x64以上系統。以下沒試驗過,官方說明的要求。

安裝Flutter

雖然官方說可以直接下載flutter,但是在筆者跟進測試的時候,發現存在很多問題,所以還是推薦使用git進行安裝。

1. 建立FlutterSDK目錄。注意不要在Program Files等這樣需要特殊許可權的位置,建議在根目錄下建立。

2. 開啟CMD命令列工具,進入目錄。

3. 執行 git clone https://github.com/flutter/flutter.git 命令,獲取flutter最新版本。

4. 在系統環境變數中Path變數中新增:C:\[你的Flutter路徑]\flutter\bin。

5. 重新開啟一個cmd視窗,輸入命令:flutter doctor進行flutter環境自動診斷。

6. 根據反饋資訊進行調整,例如安裝證書等,反饋資訊中包含詳細操作說明,由於情況比較多不做一一說明。

最終結果:

C:\Windows\System32>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, v0.10.2-pre.41, on Microsoft Windows [Version 10.0.16299.19], locale zh-CN)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[√] Android Studio (version 3.2)
[√] Connected device (1 available)

• No issues found!

達成如下輸出就說明環境配置完成。

PS:建議連結手機進行flutter doctor,手機當然要開啟相關開發者USB除錯選項。華為手機比較複雜,開始開發者選項請自行百度。

環境變數

雖然各種文件中都沒詳細說明,但是其實flutter還是需要很多環境變數的配置的。

JAVA_HOME,ANDROID_HOME都需要配置。具體請自行百度。

開發環境

雖然想說IntelliJ IDE很好用,但是畢竟收費的。主要推薦AndroidStudio吧,差別不太大。

這裡預設已經安裝完成了AndroidStudio,筆者用的3.2.1。

1. Files->Settings->Plugins,搜尋Flutter,選擇安裝Flutter。筆者這時是29.1.1.說明如下:

Support for developing Flutter applications. Flutter gives developers an easy and productive way to build and deploy cross-platform, high-performance mobile apps on both Android and iOS.

2. 安裝後會自動安裝Dark語言支援,請確認同意安裝。

3. 重啟AndroidStudio

4. Files->New->New Flutter Project->Flutter Application. 本身Flutter支援多種模式開發,如Application、Package、Plugin、Module。這裡測試完整專案,所以選擇Application。

5. 點選執行測試的蜘蛛三角按鈕。這裡如果沒使用梯子,可能就會報錯了。原因是jcenter,google的庫訪問不到。

6. 修改build.gradle,註釋掉jcenter(),google()。使用阿里的映象。

buildscript {
    repositories {
//        google()
//        jcenter()
        maven{ url 'https://maven.aliyun.com/repository/google' }
        maven{ url 'https://maven.aliyun.com/repository/jcenter' }
        maven{url 'http://maven.aliyun.com/nexus/content/groups/public'}
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

allprojects {
    repositories {
//        google()
//        jcenter()
        maven{ url 'https://maven.aliyun.com/repository/google' }
        maven{ url 'https://maven.aliyun.com/repository/jcenter' }
        maven{url 'http://maven.aliyun.com/nexus/content/groups/public'}
    }
}

7. 再次執行,還是報錯。

Launching lib\main.dart on Android SDK built for x86 64 in debug mode...
Initializing gradle...
Resolving dependencies...
* Error running Gradle:
ProcessException: Process "C:\Codes\kakaCode\Android\flutter_app\android\gradlew.bat" exited abnormally:
 
> Configure project :app
 
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.
 
FAILURE: Build failed with an exception.
 
* Where:
Build file 'C:\Codes\kakaCode\Android\flutter_app\android\app\build.gradle' line: 24
 
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not resolve all artifacts for configuration 'classpath'.
   > Could not find aapt2-proto.jar (com.android.tools.build:aapt2-proto:0.3.1).
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1.jar
 
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
 
* Get more help at https://help.gradle.org
 
BUILD FAILED in 0s
  Command: C:\Codes\kakaCode\Android\flutter_app\android\gradlew.bat app:properties
 
Finished with error: Please review your Gradle project setup in the android/ folder.

這裡導致的問題其實還是梯子問題。吐槽一下偉大的長城牌防火牆。

8. 再次執行,成功完成變異部署過程。空專案不說明。

到這裡開發環境配置完成。

模擬器

使用模擬器的情況下,記得將模擬器的 Emulated Performance下, 選擇 Hardware - GLES 2.0 以啟用 硬體加速.

補充

在android studio的Terminal視窗中,同樣可以使用Flutter的命令(Flutter安裝以及環境變數配置正確)。

可以使用flutter doctor進行錯誤排查。

使用flutter devices進行連線裝置檢視

使用flutter run進行執行