境搭建實戰(zhàn):oh-3.44.9-dev完整配置指南)
Flutter OHOS 環(huán)境搭建實戰(zhàn)oh-3.44.9-dev 從 0 到 1 完整記錄第一次在 OHOS 設(shè)備上跑 Flutter 項目我原以為最難的是業(yè)務(wù)代碼結(jié)果光是環(huán)境搭建就折騰了兩天SDK 版本選錯、hdc 連不上設(shè)備、構(gòu)建到一半報版本沖突、模擬器起不來。最后跑通首屏那一刻回過頭看整個過程真正折磨人的不是 Flutter 語法而是 Flutter OHOS 環(huán)境搭建里那些說得不清楚、文檔不上不下的版本關(guān)系和工具鏈細(xì)節(jié)。這篇文章把 oh-3.44.9-dev 從 0 到 1 的完整配置過程記錄下來。包含每一步的命令、環(huán)境變量、IDE 配置、設(shè)備連接以及我實際踩過的坑和排查思路。適合準(zhǔn)備入局 OHOS 生態(tài)、想在鴻蒙設(shè)備上運(yùn)行 Flutter 應(yīng)用的開發(fā)者參考特別是已經(jīng)熟悉 Flutter 但從未配置過 OHOS 工具鏈的同事??赐暾罩瞿苌僮呶移鸫a一整天的彎路。1. 為什么要在 OHOS 設(shè)備上跑 Flutter而不是直接寫原生1.1 這是兩條賽道的交叉點(diǎn)Flutter 最大的價值不是“寫一套代碼跑三端”而是它的自繪渲染引擎讓 UI 在極端碎片化的設(shè)備環(huán)境中保持統(tǒng)一。OHOS 是一個快速成長的新設(shè)備生態(tài)市面上既有手機(jī)、平板也有大量物聯(lián)網(wǎng)設(shè)備和輕量終端恰恰是 Flutter 這套引擎最適合覆蓋的場景。OpenHarmony 社區(qū)和廠商合作推出的 Flutter for OpenHarmony SDK讓標(biāo)準(zhǔn) Flutter 工程可以多出一個 ohos 平臺目標(biāo)這才是這套環(huán)境的意義所在。所以你打開 Flutter 官方說明時會看到 iOS、Android、Web、Windows 這些平臺但 OHOS 不在標(biāo)準(zhǔn)發(fā)布列表里。需要單獨(dú)下載定制過的 Flutter SDK 版本oh-3.44.9-dev 就是這一類開發(fā)版 SDK 包。它基于 Flutter 3.44 開發(fā)線針對 OpenHarmony 的編譯器、構(gòu)建系統(tǒng)和運(yùn)行時鏈路做了二次封裝讓 flutter create 能生成 ohos 平臺工程讓 flutter run 能通過 hdc 把應(yīng)用推到鴻蒙設(shè)備上。1.2 為什么非要選 oh-3.44.9-dev 這個特殊版本版本號里帶-dev后綴意味著它不是穩(wěn)定發(fā)布版。但我在實際對比中發(fā)現(xiàn)OpenHarmony 的 Flutter SDK 版本和 DevEco Studio、OpenHarmony SDK、編譯工具鏈?zhǔn)墙壴谝黄鸸ぷ鞯牟⒉皇窃叫略胶?。oh-3.44.9-dev 這個版本在當(dāng)前時間節(jié)點(diǎn)能對應(yīng)上最新的 API 特性和設(shè)備驅(qū)動支持同時在構(gòu)建配置上與對應(yīng)版本的 DevEco Studio 配合得最好。我的建議是不要一上來就追求穩(wěn)定版也不要盲目追最新版本。下載 Flutter for OpenHarmony SDK 時直接選擇官方倉庫 Releases 頁面里明確標(biāo)注的版本組合比如 oh-3.44.9-dev 對應(yīng)的配套 DevEco Studio 和 OpenHarmony SDK 版本。已經(jīng)入坑的同事可以對照本文的版本表格檢查避免開發(fā)到一半才發(fā)現(xiàn)工具鏈不匹配那種痛苦比配置環(huán)境本身大得多。1.3 這套環(huán)境適合誰先上手坦白說如果你是完全沒寫過 Flutter 的新手第一件事不應(yīng)該是搭 OHOS 環(huán)境而是先在 Android 或 iOS 模擬器上把 Flutter 基礎(chǔ)語法和布局體系跑熟。但以下三類人可以直接上手本文流程一是已經(jīng)有 Flutter 項目、團(tuán)隊計劃覆蓋鴻蒙設(shè)備的二是想在 OHOS 生態(tài)批量落地中小型應(yīng)用的跨端團(tuán)隊三是公司內(nèi)部需要做技術(shù)預(yù)研評估 Flutter 在 OHOS 上性能、熱重載和平臺通道完整度的開發(fā)者。讀完這篇文章你能完成這些事下載并安裝成套工具鏈、配置完整環(huán)境變量、創(chuàng)建第一個 Flutter for OHOS 工程、運(yùn)行到模擬器或真機(jī)、通過 hdc 抓取日志、處理構(gòu)建階段的版本沖突報錯。這套流程跑通之后你才算真正擁有了「在 OHOS 上寫 Flutter」的開發(fā)環(huán)境。2. 動工前必須理清的工具鏈、版本號與兼容關(guān)系2.1 需要準(zhǔn)備的工具清單環(huán)境搭建的難點(diǎn)從來不是某個工具不會裝而是工具之間相互依賴的版本關(guān)系說不清楚。我在第一次安裝時就犯了一個典型錯誤先把 Flutter SDK 下載下來配好 PATH然后才去裝 DevEco Studio結(jié)果 Flutter 插件根本識別不到 OHOS SDK回退重裝浪費(fèi)了很多時間。正確的順序是先裝 DevEco Studio再裝 Flutter for OpenHarmony SDK。DevEco Studio 是 OpenHarmony 官方 IDE它自身集成了 OpenHarmony SDK、hvigor、ohpm 等一整套構(gòu)建工具。下面是核心工具清單工具作用獲取方式DevEco Studio集成開發(fā)環(huán)境負(fù)責(zé) OHOS 工程構(gòu)建、簽名、設(shè)備管理官方站點(diǎn)下載對應(yīng)系統(tǒng)安裝包Flutter for OpenHarmony SDKoh-3.44.9-devFlutter 引擎與框架的 OHOS 定制版OpenHarmony flutter_flutter 倉庫 Releases 頁面OpenHarmony SDKAPI 與系統(tǒng)庫在 DevEco Studio 內(nèi)引導(dǎo)安裝DevEco Studio 首次啟動時下載hdcOpenHarmony Device Connector類似 adbDevEco Studio 內(nèi)置位于 sdk/command-line-toolsJava RuntimeGradle/hvigor 構(gòu)建依賴DevEco Studio 自帶 JBR但命令行建議單獨(dú)確認(rèn) java 可用ohpmOpenHarmony 包管理器DevEco Studio 附帶2.2 版本兼容關(guān)系速查表這里用表格展示一個在我機(jī)器上驗證可行的組合你可以作為參考但最終以你下載時官方 release note 標(biāo)注的版本為準(zhǔn)。組件我用到的版本說明DevEco Studio5.0.x 及以上早期 4.x 對 Flutter 的 OHOS 支持不完整Flutter for OpenHarmonyoh-3.44.9-dev對應(yīng) Flutter 3.44 開發(fā)線OpenHarmony SDK5.0.x在 DevEco Studio 引導(dǎo)安裝時選擇匹配版本hvigor隨 DevEco Studio 自動安裝版本不匹配時 IDE 會提示自動升級JavaDevEco Studio 內(nèi)置 JBR 17node 也可以手動配 JDK 17避免命令行報錯別輕視這張表很多“編譯到一半崩潰”的場景都和 SDK 版本與 IDE 版本脫節(jié)有關(guān)。比如有一次我把 DevEco Studio 升到了新版但 Flutter for OpenHarmony SDK 還是舊版構(gòu)建時直接報了一個很繞的錯誤找不到 toolchain 里的某個鏈接庫。這類錯誤搜半天都搜不到最后冷靜下來把版本統(tǒng)一問題才消失。2.3 安裝前的三道“默認(rèn)卡點(diǎn)”第一磁盤空間。DevEco Studio 加 OpenHarmony SDK 加 Flutter for OpenHarmony SDK再加上緩存和模擬器鏡像實測下來接近 40GB。如果你還在同時開發(fā) Android 項目建議預(yù)留至少 80GB。第二安裝路徑。這一點(diǎn)我必須用加粗強(qiáng)調(diào)整個工具鏈所有目錄都不要出現(xiàn)中文和空格。包括你的用戶名路徑如果 Windows 用戶名是“張三”后面會有很多極難排查的坑。最省事的辦法是放在純英文目錄下比如D:\DevTools。第三網(wǎng)絡(luò)環(huán)境。Flutter 依賴的 pub.dev 和 OpenHarmony 依賴的 ohpm 倉庫都在境外國內(nèi)網(wǎng)絡(luò)環(huán)境下很容易超時。這不是不可解決的問題在環(huán)境變量里配置國內(nèi)鏡像源即可后文我會給出具體配置。這里先提醒你別急著懷疑代碼多數(shù)情況是包沒拉下來。3. 從 0 到 1 搭建環(huán)境變量、SDK、IDE 全鏈路配置3.1 安裝 DevEco Studio并在首次啟動時安裝 OpenHarmony SDK下載 DevEco Studio 安裝包沒什么難度難點(diǎn)在首次啟動引導(dǎo)。它會彈出一個 SDK 組件安裝向?qū)н@時候我建議你把所有組件都勾選上包括 hdc、ohpm、SDK 命令行工具。不要在向?qū)Ю餅榱耸〈疟P空間去取消某個組件因為 Flutter 插件在后續(xù)檢測環(huán)境時會掃描這些路徑缺一個就會出現(xiàn)各種莫名其妙的提示。SDK 安裝位置建議記住后面配置環(huán)境變量要用。我本機(jī)安裝在D:\DevTools\OpenHarmony\Sdk安裝完成后你會看到這個目錄下有一個command-line-tools子目錄里面包含了hdc.exe。這個路徑非常關(guān)鍵后面flutter run能不能找到設(shè)備就看它了。3.2 配置環(huán)境變量JAVA_HOME、OHOS SDK、Flutter 三者缺一不可環(huán)境變量是整套搭建流程里最繞不開的環(huán)節(jié)。我用 Windows 為例但 macOS 和 Linux 只是命令不同思路完全一致。首先是 DevEco Studio 自帶的 JBR。打開 DevEco Studio 安裝目錄找到j(luò)br文件夾把它的路徑作為 JAVA_HOME。它本質(zhì)上是一個 JDK而且版本是和 IDE 配套的比你自己單獨(dú)裝一個 JDK 更安全。然后是 OpenHarmony SDK。新建環(huán)境變量DEVECO_SDK_HOME指向D:\DevTools\OpenHarmony\Sdk。同時把command-line-tools\bin加入 PATH讓 hdc 可以在任意目錄直接調(diào)用。最后是 Flutter for OpenHarmony SDK。把解壓后的 flutter 目錄下的bin加入 PATH。這里需要留意一個坑如果你電腦上之前裝過官方 Flutter SDK要確保flutter --version輸出的是 OpenHarmony 定制版的信息。因為 PATH 里排在前面的目錄會優(yōu)先被執(zhí)行兩個 Flutter 版本的 bin 混在一起容易調(diào)到舊版。我把配置匯總成一份 Linux/macOS 風(fēng)格的環(huán)境變量腳本W(wǎng)indows 用戶在系統(tǒng)設(shè)置里按同樣內(nèi)容配置即可export DEVECO_SDK_HOME/opt/ohos-sdk # 改成你的實際路徑 export JAVA_HOME/opt/devecostudio/jbr export PATH$JAVA_HOME/bin:$PATH export PUB_HOSTED_URLhttps://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn export FLUTTER_OHOS_HOME/opt/flutter_ohos export PATH$FLUTTER_OHOS_HOME/bin:$PATH export PATH$DEVECO_SDK_HOME/command-line-tools/bin:$PATH其中PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL就是我在上一節(jié)說的國內(nèi)鏡像源。在后再執(zhí)行flutter pub get網(wǎng)速體驗會有質(zhì)的提升。3.3 在 DevEco Studio 中安裝 Flutter 插件并關(guān)聯(lián) SDK環(huán)境變量配好后打開 DevEco Studio進(jìn)入插件市場搜索 Flutter注意認(rèn)準(zhǔn) OpenHarmony 定制版的插件不要裝成了 IntelliJ 通用版。安裝完成后 IDE 會提示重啟重啟后進(jìn)入File - Settings - Languages Frameworks - Flutter把 Flutter SDK 路徑指向剛才解壓的 flutter_ohos 目錄。關(guān)聯(lián)成功后原來 DevEco Studio 對 Flutter 的無感會徹底改觀。新建項目時你會發(fā)現(xiàn)向?qū)Ю锒喑隽?Flutter 相關(guān)的項目模板打開任意 Flutter 工程時IDE 會自動識別 pubspec.yaml 并加載依賴。這一個環(huán)節(jié)我最初的失敗教訓(xùn)是插件裝了但 SDK 路徑指錯導(dǎo)致項目創(chuàng)建出來沒有 ohos 平臺目錄。排查了很久才發(fā)現(xiàn)是路徑關(guān)聯(lián)失效重新指向后重建項目才正常。3.4 創(chuàng)建第一個 Flutter for OHOS 工程并運(yùn)行到模擬器方式有兩種如果已經(jīng)在 DevEco Studio 里配置好一切直接通過向?qū)?chuàng)建 Flutter 項目然后選擇設(shè)備運(yùn)行。更穩(wěn)妥的方式是命令行創(chuàng)建flutter create --platformsohos --org com.example --project-name my_ohos_app .命令執(zhí)行完成后工程里會多出一個ohos目錄這是 Flutter 生成的 OHOS 宿主工程。里面的目錄結(jié)構(gòu)和原生鴻蒙工程一致有entry模塊、oh-package.json5、hvigorfile.ts等。打開模擬器后直接在 DevEco Studio 工具欄選擇 ohos 設(shè)備點(diǎn)擊 Run。第一次構(gòu)建會非常慢因為需要拉取 hvigor 依賴、編譯 C 引擎適配層我實測在性能一般的筆記本上超過了十分鐘但第二次增量構(gòu)建就會快很多??吹侥M器屏幕上出現(xiàn) Flutter 默認(rèn)的 counter demo 頁面時你的 Flutter OHOS 環(huán)境搭建就算完成了 80%。4. 編譯和運(yùn)行階段最容易翻車的四個報錯附完整排查過程4.1 報錯一hdc 命令找不到設(shè)備列表永遠(yuǎn)為空現(xiàn)象很直接執(zhí)行flutter devices看不到目標(biāo)設(shè)備或者執(zhí)行hdc list targets提示“hdc: command not found”。我第一次遇到這個問題時第一反應(yīng)是重新安裝 hdc折騰了半小時沒效果。后來一步步排查才發(fā)現(xiàn)問題出在 PATH 變量上沒有加入 hdc 所在目錄。DevEco Studio 雖然內(nèi)置了 hdc但 IDE 啟動時會自動加載自己的環(huán)境而你終端里的 shell 并不會。解決辦法有兩個一個是把command-line-tools\bin加進(jìn) PATH另一個是直接寫全路徑調(diào)用比如D:\DevTools\OpenHarmony\Sdk\command-line-tools\bin\hdc.exe list targets。4.2 報錯二hvigor 構(gòu)建版本沖突工程 builder 與 IDE 內(nèi)置版本不一致這個報錯的典型提示形如hvigor version is not compatible。我在升級 DevEco Studio 后遇到過一次。直接原因Flutter 生成的 ohos 工程里hvigor/hvigor-config.json5指定的 hvigor 版本與當(dāng)前 IDE 內(nèi)置的版本不一致。這個問題的排查過程是先看報錯信息里有沒有具體版本號然后去工程下的hvigor/hvigor-config.json5里查看指定的版本。我當(dāng)時打開文件后發(fā)現(xiàn)版本被鎖定在舊版改成了 IDE 對應(yīng)版本后構(gòu)建恢復(fù)。更省事的方法是讓 IDE 打開工程時彈出使用內(nèi)置 hvigor的提示直接點(diǎn)擊同步即可。但要注意文件被鎖定的情況下 IDE 提示可能不出現(xiàn)這時就要手動改文件。4.3 報錯三flutter pub get 一直轉(zhuǎn)圈依賴?yán)幌聛磉@種報錯有一個特點(diǎn)執(zhí)行flutter pub get后卡住很久然后提示超時或網(wǎng)絡(luò)異常。這基本就是 pub.dev 的訪問問題。解決辦法就是我在環(huán)境變量部分提到的兩行配置PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL。配置完成后要重啟終端再執(zhí)行flutter pub get速度會有明顯變化。我建議在每個新項目里都提前檢查這兩個環(huán)境變量是否存在而不是等報錯后再配置。特別是團(tuán)隊多人協(xié)作時新成員的機(jī)器很可能漏掉這一步項目打開半天拉不下依賴還會誤報代碼錯誤。4.4 報錯四部署到真機(jī)時提示相關(guān)設(shè)備未找到模擬器能跑通但真機(jī)連不上這個問題的排查鏈路要長不少。我當(dāng)時先跑了hdc list targets確認(rèn)設(shè)備是否被識別然后檢查手機(jī)開發(fā)者選項是否開啟了 USB 調(diào)試以及 USB 連接方式是否為文件傳輸模式。還有一個很容易忽略的細(xì)節(jié)首次連接時手機(jī)屏幕上會彈出是否允許調(diào)試的授權(quán)窗口如果不點(diǎn)確認(rèn)hdc 永遠(yuǎn)不會識別到設(shè)備。如果真機(jī)被識別但部署失敗多半是簽名問題。OpenHarmony 真機(jī)調(diào)試需要自動簽名需要在 DevEco Studio 的File - Project Structure - Signing Configs里登錄賬號勾選自動簽名。簽名配置正確后hdc install才能正常把 hap 包裝到設(shè)備里。下面的排查表是我整理出來的現(xiàn)象優(yōu)先檢查項解決方法hdc 找不到PATH 變量將 command-line-tools/bin 加入 PATH設(shè)備列表為空USB 調(diào)試未開、授權(quán)彈窗未確認(rèn)檢查開發(fā)者選項重新插拔構(gòu)建失敗hvigor 版本檢查 hvigor-config.json5 與 IDE 匹配pub get 卡頓鏡像源未配置配置 PUB_HOSTED_URL 與 FLUTTER_STORAGE_BASE_URL部署失敗自動簽名未勾選登錄賬號并啟用自動簽名5. 跑通 Demo 之后進(jìn)入業(yè)務(wù)開發(fā)前我建議先了解這 5 件事5.1 熱重載鏈路可用但別像 Android 那樣信賴它Flutter 本身的熱重載hot reload體驗確實好但在 Flutter for OpenHarmony 上熱重載鏈路經(jīng)過了一層自定義引擎適配普通 UI 修改還行涉及到平臺通道相關(guān)代碼的改動熱重載經(jīng)常不生效甚至?xí)?dǎo)致應(yīng)用狀態(tài)異常。我的習(xí)慣是改 UI 用熱重載改邏輯和插件代碼直接用熱重啟hot restart。這個習(xí)慣幫我在調(diào)試階段節(jié)省了大量時間。你第一次跑項目時可以試試按下R鍵做熱重啟體驗會比熱重載穩(wěn)定很多。5.2 平臺能力必須走插件適配層圖庫、支付、賬號登錄業(yè)務(wù)開發(fā)中最容易踩的坑是把 Android 上的插件的使用習(xí)慣直接搬過來。實際上很多 Flutter 插件默認(rèn)只實現(xiàn)了 Android 和 iOS 的端側(cè)代碼OHOS 端是空殼或者根本沒有。舉個例子調(diào)用系統(tǒng)圖庫這種基本能力在 Android 上是一兩行代碼的事情但到 OHOS 上就得找到對應(yīng)的鴻蒙適配插件或者自己通過 MethodChannel 調(diào)用原生代碼。支付能力更是如此想拉起 IAP 支付首先要確認(rèn)插件是否提供了 ohos 平臺的實現(xiàn)文件然后在 ohos/entry 的模塊里配置對應(yīng)的權(quán)限和后臺服務(wù)。這不在本文范圍內(nèi)但如果你項目里要用務(wù)必留足排期不要以為插件安裝成功就等于功能可用。5.3 本地數(shù)據(jù)庫和后端同步別急著選型Flutter 社區(qū)里討論本地數(shù)據(jù)庫和后端同步的帖子非常多但放到 OHOS 上選擇范圍一下就縮小了。讓 sqlite 在 OHOS 上正常工作的插件確實存在但如果你還要做增量同步、多端沖突處理就不能只依賴一個數(shù)據(jù)庫插件還得考慮網(wǎng)絡(luò)層和服務(wù)端策略。我的建議是先跑通一個最小閉環(huán)本地寫、遠(yuǎn)端拉、沖突合并全部驗證過再確定具體方案。否則數(shù)據(jù)模型設(shè)計到一半發(fā)現(xiàn)底層存儲能力根本不支持那才是真正的大返工。5.4 日志調(diào)試要習(xí)慣 hdc hilog 的組合在 OHOS 上調(diào)試 Flutter 應(yīng)用如果還習(xí)慣在 IDE 里看 console 輸出你會發(fā)現(xiàn)很多原生層的信息看不到。必須主動用 hdc 抓取系統(tǒng)日志命令大概是這樣hdc hilog通過管道加上 Flutter 關(guān)鍵字過濾可以快速篩選出 Dart 層和引擎層的日志hdc hilog | grep -i flutter如果你想看某個進(jìn)程的完整打印可以先hdc shell ps -ef | grep your_package_name找到進(jìn)程號再配合 pid 過濾。這套組合是我后期排查性能問題和原生崩潰的主要方式。建議在項目初期就把它寫進(jìn)團(tuán)隊文檔里別等上線前一天才發(fā)現(xiàn)日志都打不開。6. 真機(jī)簽名、HDC 連接與日志調(diào)試驗證6.1 真機(jī)調(diào)試的初始化流程理清三步不慌亂如果你手里有真實的 OHOS 設(shè)備我建議盡早連上真機(jī)開發(fā)模擬器在很多硬件能力上覆蓋不了真實場景。連接之前先做三件事第一在設(shè)備上打開開發(fā)者模式第二開啟 USB 調(diào)試第三通過 USB 線連接電腦后在手機(jī)上允許調(diào)試授權(quán)。然后到 DevEco Studio 的工程配置里完成自動簽名。自動簽名的好處是 IDE 會幫你生成簽名證書并進(jìn)行應(yīng)用簽名省去手工配置 profile 的繁瑣流程。沒有這一步flutter run可以編譯出 hap 包但安裝到真機(jī)時會被系統(tǒng)攔截提示驗證失敗。6.2 構(gòu)建 HAP 與命令行安裝有時候 IDE 會出一些不穩(wěn)定狀態(tài)構(gòu)建按鈕點(diǎn)擊沒反應(yīng)這時候命令行反而是最可靠的兜底手段。定位到 ohos 目錄后執(zhí)行hvigorw assembleHap構(gòu)建完成后hap 包會輸出到entry/build/default/outputs目錄。接著用 hdc 安裝hdc install entry/build/default/outputs/default/entry-default-signed.hap這幾個命令在 CI/CD 流水線里同樣適用。我后來做自動化構(gòu)建時就是把它們封裝成腳本再結(jié)合 hdc shell 啟動應(yīng)用完成了一套簡單的自動化回歸流程。6.3 綜合驗證把環(huán)境搭建是否成功的判斷標(biāo)準(zhǔn)固定下來環(huán)境搭完之后不能只說“能跑 demo 了”。用三個標(biāo)準(zhǔn)來判斷這套環(huán)境是否真正穩(wěn)定一是flutter run從創(chuàng)建項目到首屏出現(xiàn)不需要手工干預(yù)二是flutter pub get與原生依賴的拉取全部走鏡像源不出現(xiàn)超時三是重新打開電腦后終端和 IDE 都不需要再次配置路徑。如果三天后你重新打開項目不做任何調(diào)整就能跑起來這套環(huán)境才算是真正屬于你了。把這些驗證標(biāo)準(zhǔn)記錄下來會避免很多“昨天還能跑今天突然不行”的尷尬。特別是團(tuán)隊里多人共用文檔時一個明確的驗證清單比幾百字的配置講解更高效。最后分享一條個人體會這套環(huán)境搭建的過程本質(zhì)上是在理解 Flutter 的跨端能力和 OHOS 的工具鏈規(guī)范之間的縫隙。版本關(guān)系、環(huán)境變量、簽名配置這些細(xì)節(jié)看起來瑣碎但每一次報錯背后都指向一個明確的機(jī)制。你解決過一次對整套工具鏈的理解就會深一層。后面再做 HAP 分包、性能優(yōu)化、原生混編時你反而會感謝這段被迫讀懂構(gòu)建配置的時光。如果你也正在折騰 Flutter OHOS 環(huán)境照著上面的流程走一遍卡住的地方大概率跑不出這幾類問題。搭好之后接下來就可以把精力放回 Flutter 代碼本身了。祝你的首個 oh-3.44.9-dev 應(yīng)用順利跑起來。