flutter開發(fā)適配鴻蒙之開發(fā)環(huán)境搭建

HarmonyOS next之flutter開發(fā)適配鴻蒙之開發(fā)環(huán)境搭建

第一:環(huán)境搭建

1.安裝 DevEco Studio NEXT IDE, 注意版本應(yīng)該是 Next,當前最新的是 Beta3
.下載之前需要先登錄,后面的模擬器創(chuàng)建還要開發(fā)者驗證、審核啥的,好在審核進度還可以,我這邊提交申請后差不多兩個小時審核通過
.找到自己電腦系統(tǒng)匹配的版本下載,我的電腦是Window的就選擇Window版本下載
.安裝步驟比較簡單,一步步next直到完成即可,新版本的工具已經(jīng)集成node和ohpm等環(huán)境進去了,不用單獨下載安裝了
2.安裝Git, 如果要同時適配安卓,需要安裝Android Studio; 如果要適配ios,需要安裝Xcode

Mac 安裝(推薦)
環(huán)境變量配置

# Flutter Mirror
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

# HarmonyOS SDK
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents/
export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin

Windows 安裝
配置用戶變量

FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

PUB_HOSTED_URL=https://pub.flutter-io.cn

DEVECO_SDK_HOME=C:\Program Files\Huawei\DevEco Studio\sdk

配置環(huán)境變量
編輯 PATH,添加以下路徑

C:\Program Files\Huawei\DevEco Studio\tools\ohpm\bin
C:\Program Files\Huawei\DevEco Studio\tools\hvigor\bin
C:\Program Files\Huawei\DevEco Studio\tools\node

管理多個 Flutter 版本
如果在項目開發(fā)中,需要使用多個 Flutter 版本,可以考慮使用 fvm
1.安裝 FVM
2.使用 fvm 官方 flutter 版本
fvm install 3.22.0
3.安裝自定義鴻蒙版本,進入 fvm/version 目錄,通常位于用戶目錄下,如 ~/fvm/versions/3.22.0, 拷貝倉庫并重命名為 custom_x.y.z的名字
git clone -b dev https://gitee.com/openharmony-sig/flutter_flutter.git custom_3.7.12
4.在項目中使用單獨的 flutter sdk 版本, 在項目目錄中執(zhí)行:
fvm use custom_3.7.12

第二:創(chuàng)建運行項目
  1. 檢測flutter創(chuàng)建鴻蒙運用條件是否可以了
    運行flutter doctor -v檢查環(huán)境變量配置是否正確
[?] HarmonyOS toolchain - develop for HarmonyOS devices
    ? OpenHarmony Sdk at E:\ohos\DevEcoStudio\sdk, available api versions has [12:default]
    ? Ohpm version 5.0.8-rc.1    #如果這里報x錯誤,說明上面的`PATH變量添加值 %TOOL_HOME%\tools\ohpm\bin`添加的環(huán)境變量ohpm的路徑配置有問題
    ? Node version v18.20.1      #如果這里報x錯誤,類似PATH配置的node路徑有問題
    ? Hvigorw binary at E:\ohos\DevEcoStudio\tools\hvigor\bin\hvigorw   #如果這里報x錯誤,類似PATH配置的hvigor路徑有問題

2. 創(chuàng)建flutter項目
創(chuàng)建工程 方式一 該方式只創(chuàng)建了ohos平臺
flutter create --platforms ohos <projectName>
創(chuàng)建工程 方式二 該方式創(chuàng)建了android,ios,ohos三個平臺
flutter create <projectName>
進入工程根目錄編譯hap包,創(chuàng)建完項目之后,要先執(zhí)行這步build才能生成依賴,如果直接使用DevEcho Studio打開會報錯找不到flutter.har依賴庫flutter build hap --debug

3. 運行flutter項目到鴻蒙next手機
方式一:通過flutter devices指令發(fā)現(xiàn)真機設(shè)備之后,獲取device-id,進入項目目錄指定構(gòu)建方式編譯hap包并安裝到鴻蒙手機中 flutter run --debug -d <deviceId>

flutter devices
  flutter run --debug -d <deviceId>

方式二:進入工程根目錄編譯hap包,然后安裝到鴻蒙手機中

flutter build hap --debug
  hdc -t <deviceId> install <hap file path>    # 類似Android的adb安裝:adb -s <deviceId> install <apk file path>

方式三:使用DevEcoStudio打開項目的ohos模塊

  1. File --> Project Structure --> Signing Configs --> 勾選Automatically generate signature --> Apply ,可以啟用啟動簽名,第一次執(zhí)行flutter build hap的時候也會提示到
  2. 創(chuàng)建模擬器:Device Manager --> 進去根據(jù)提示可以插件模擬器,不過第一次創(chuàng)建還需要進行開發(fā)者驗證以及審核。。。
  3. 重點提示一下:創(chuàng)建的模擬器只有x86架構(gòu)的,而這篇文章我們通過flutter_flutter構(gòu)建的支持鴻蒙的flutter運用只支持arm64架構(gòu)的,人家文檔也說明了,所以啊其實創(chuàng)建模擬器對flutter應(yīng)用也沒啥用,#要真機運行
第三:打包項目

1. 打包測試包

flutter build hap --debug

如果需要指定engine的話,使用--local-engine參數(shù)
使用flutter build hap --debug --local-engine=E:\ohos\flutter_image\src\out\ohos_debug_unopt_arm64,會提示失敗src\out\ohos_debug_unopt_arm64\flutter.har找不到
如果提示flutter.har找不到,那就是從項目目錄下的ohos\har\flutter.har拷貝一份到src\out\ohos_debug_unopt_arm64目錄下,然后再執(zhí)行上一步就能成功

2. 打包正式包

flutter build hap --release 或者 flutter build hap

如果需要指定engine的話,使用--local-engine參數(shù)
比如flutter build hap --release --local-engine=E:\ohos\flutter_image\src\out\ohos_release_arm64,會提示失敗src\out\ohos_release_arm64\flutter.har找不到
如果提示flutter.har找不到,那就是從項目目錄下的ohos\har\flutter.har拷貝一份到src\out\ohos_release_arm64目錄下,然后再執(zhí)行上一步就能成功

常見問題
1.運行 flutter doctor 出現(xiàn) Error: Unable to find git in your PATH.
執(zhí)行以下命令

git config --global --add safe.directory '*'

參考資料
Flutter中文文檔
Harmonyos Next 開發(fā)文檔

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

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

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