鴻蒙Flutter實(shí)戰(zhàn):12-使用模擬器開發(fā)調(diào)試

前提

開發(fā)電腦需為M系列芯片 (ARM架構(gòu)) 的 Mac 電腦

目前 Flutter 鴻蒙開發(fā),無法使用 X86 架構(gòu)的模擬器,只能使用 ARM 架構(gòu)的模擬器**

創(chuàng)建項(xiàng)目

等開發(fā)環(huán)境搭建成功,使用 flutter create 命令創(chuàng)建項(xiàng)目

新項(xiàng)目

flutter create --platforms ohos ohos_app

舊項(xiàng)目增加鴻蒙平臺(tái)支持

flutter create --platforms ohos .

簽名

使用 DevEco 打開上面項(xiàng)目中的 ohos 目錄,也就是我們的鴻蒙項(xiàng)目目錄

打開 File -> Project Structure..., 點(diǎn)擊 Siging Configs, 勾選 Automatically generate signature,

點(diǎn)擊 Sign In, 登錄華為賬號(hào),點(diǎn)擊右下角 Apply, OK, 完成簽名。

觀察控制臺(tái)會(huì)輸出 Process finished with exit code 0的提示

> hvigor WARN: The current module 'ohos' has dependency which is not installed at its oh-package.json5.
> hvigor Finished :entry:init... after 1 ms
> hvigor Finished ::init... after 1 ms

Process finished with exit code 0

創(chuàng)建模擬器

1.打開 DevEco 中的 Device Manager(可以從右上角的運(yùn)行按鈕左側(cè)下拉找到)

image.png

2.在右下角點(diǎn)擊 + New Emulator, 彈出選擇模擬器窗口,如果鏡像還沒有下載,方框處會(huì)出現(xiàn)下載按鈕,先點(diǎn)擊下載,下載完成后點(diǎn)擊 Next 創(chuàng)建模擬器,再點(diǎn)擊 Previous 創(chuàng)建成功

image.png

3.回到模擬器列表窗口,列表中出現(xiàn)了新建的模擬器,點(diǎn)擊運(yùn)行按鈕, 模擬器運(yùn)行成功。

運(yùn)動(dòng) Flutter 項(xiàng)目

Vscode中右下角應(yīng)當(dāng)出現(xiàn)模擬器的設(shè)備,行如 127.0.0.1:5555(ohos-arm64), 如果沒有出現(xiàn)參考注意事項(xiàng)中的說明 2 操作。

回到 Vscode 中的Flutter 項(xiàng)目,像普通的 flutter 項(xiàng)目那行,點(diǎn)擊運(yùn)行按鈕。

注意事項(xiàng)

1. Flutter 運(yùn)行 App,打包安裝成功, 運(yùn)行閃退 從以下方面檢查:

1.1 如果是 X86電腦架構(gòu)的模擬器,嘗試刪除 main.dart 中的 FloatingActionButton
1.2 如果 Flutter SDK 使用的 ohos-3.22, 嘗試關(guān)閉 impeller 渲染方式,打開或創(chuàng)建文件 ohos/entry/src/main/resources/rawfile/buildinfo.json5, 增加以下配置

{
   "string": [
      {
         "name": "enable_impeller",
         "value": "true"
      }
   ]
}

2.VSCode 中模擬器設(shè)備不顯示

2.1 嘗試使用 Deveco 打開項(xiàng)目的 ohos 目錄(即鴻蒙項(xiàng)目文件),等待初始化分析成功
2.2 嘗試重啟 VSCode

3.使用 fvm 時(shí),項(xiàng)目目錄下 flutter --version 顯示不正確,不是 ohos 版本

以次按以下的方式進(jìn)行逐個(gè)嘗試,直至成功。

3.1 嘗試在 vscode 的命令行中運(yùn)行 fvm use custom_3.22.0, 待命令創(chuàng)建 .vscode/setting.json 文件并在其中增加類似這樣的配置

{
  "dart.flutterSdkPath": ".fvm/versions/custom_3.22.0"
}

項(xiàng)目根目錄中出現(xiàn) .fvm/version/custom_3.22.0 這樣的目錄文件,項(xiàng)目根目錄出現(xiàn) .fvmrc 文件,其內(nèi)容類似如下

{
  "flutter": "custom_3.22.0"
}

3.2 嘗試重啟 VsCode 的命令行,或者重啟整個(gè) VsCode,待重新打開 VSCode 命令行以后,flutter --version 出現(xiàn)這樣的輸出

Flutter 3.22.0-ohos ? channel oh-3.22.0 ? https://gitee.com/harmonycommando_flutter/flutter.git
Framework ? revision 85630b0330 (13 天前) ? 2024-10-26 02:39:47 +0000
Engine ? revision f6344b75dc
Tools ? Dart 3.4.0 ? DevTools 2.34.1

3.3 關(guān)閉全局 flutter 配置

~/.zshrc~/.bash_profile中,刪除或者注釋掉類似這樣的配置,重啟命令行/VSCode

#export PATH="/Users/zacksleo/flutter/bin:$PATH"

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容