使用 Flutter SDK 3.22.0
SDK 安裝
參考[鴻蒙Flutter實戰:01-搭建開發環境]文章的說明,首先安裝 Flutter SDK 3.22.0。
目前鴻蒙化Flutter SDK 3.22 還未正式釋出,現在可以使用 https://gitee.com/harmonycommando_flutter/flutter
進行前期測試驗證。
使用 FVM 進入 目錄 ~/fvm/versions/
, 克隆以上倉庫。
git clone https://gitee.com/openharmony-sig/flutter_flutter.git custom_3.22.0
接下來使用 fvm list
命令檢視 SDK版本 列表。
┌───────────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├───────────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ custom_3.22.0 │ │ Need setup │ │ │ │ │
├───────────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.22.0 │ stable │ 3.22.0 │ 3.4.0 │ May 13, 2024 │ ● │ │
└───────────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘
可以看到,SDK中出現了兩個版本,其中使用命令 fvm global 3.22.0
將 官方的3.22.0 設定成了全域性預設版本。鴻蒙化的 SDK 需要配置安裝,我們稍後進入專案,執行安裝。
專案配置
1.進入專案根目錄,如果專案還未建立,則使用 flutter create
命令建立專案
flutter create my_app
2.在當前專案目錄,設定使用的 Flutter SDK 版本
fvm use custom_3.22.0
此時會自動安裝 sdk 版本,執行成功後如果再執行 fvm list
, 可以看到 SDK 已經準備就緒。
┌───────────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├───────────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ custom_3.22.0 │ │ 3.22.0-ohos │ 3.4.0 │ │ │ │
├───────────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
同時,配置命令執行完成後,將會在專案目錄中建立 .fvm
目錄,裡面 flutter_sdk 會軟連線到實際的 custom_3.22.0 SDK 目錄。
檢視 .vscode/settings.json 檔案可以發現,自動建立了一條配置 flutter sdk 的專案:
"dart.flutterSdkPath": ".fvm/versions/custom_3.22.0"
如果專案使用了 melos, 則需要在 melos.yaml
檔案的底部,新增以下配置,使得 melos 可以使用自定義的 flutter sdk
sdkPath: .fvm/versions/custom_3.22.0
3.如果專案已經建立,還未新增鴻蒙平臺支援,則使用以下命令新增鴻蒙平臺支援。
flutter create --platforms ohos .
其中,.
代表當前目錄。
目錄結構類似如下所示
├── README.md
├── analysis_options.yaml
├── assets
├── build
├── env
├── lib
│ ├── config
│ └── main.dart
├── melos_ohos_app.iml
├── ohos
│ ├── AppScope
│ ├── build-profile.json5
│ ├── entry
│ ├── har
│ ├── hvigor
│ ├── hvigorfile.ts
│ ├── local.properties
│ ├── oh-package-lock.json5
│ ├── oh-package.json5
│ └── oh_modules
├── pubspec.lock
├── pubspec.yaml
└── pubspec_overrides.yaml
建立命令執行成功後,專案中會出現 ohos
目錄,這裡面存放的就是鴻蒙平臺的相關程式碼。
簽名
1.在執行專案前,先對專案進行簽名,否則在執行過程中會出現這樣的錯誤
請透過DevEco Studio開啟ohos工程後配置除錯簽名(File -> Project Structure -> Signing Configs 勾選Automatically generate signature)
2.用 DevEco 開啟上面的 ohos
目錄,注意不是專案目錄,是專案下面的 ohos 鴻蒙目錄,然後根據提示依次開啟 File -> Project Structure -> Signing Configs
, 點選自動簽名即可。
3.簽名成功後,檔案 ohos/build-profile.json5
會自動更新,裡面的欄位 signingConfigs
出現相應的簽名配置資訊。
執行
執行 Flutter 專案,在專案根目錄使用 fvm flutter run
或者在 IDE 中點選執行按鈕
參考資料
- FVM
- 鴻蒙Flutter實戰:01-搭建開發環境
- 鴻蒙 Flutter 3.22.0