diff --git "a/ohos/docs/03_environment/\351\270\277\350\222\231\347\211\210Flutter\347\216\257\345\242\203\346\220\255\345\273\272\346\214\207\345\257\274.md" "b/ohos/docs/03_environment/\351\270\277\350\222\231\347\211\210Flutter\347\216\257\345\242\203\346\220\255\345\273\272\346\214\207\345\257\274.md" index 4bbb9fc13f2f19c5a25a511ef18b34669fe6e333..c62c40469dc333e056f19e2f22db5c6f9a3d3862 100644 --- "a/ohos/docs/03_environment/\351\270\277\350\222\231\347\211\210Flutter\347\216\257\345\242\203\346\220\255\345\273\272\346\214\207\345\257\274.md" +++ "b/ohos/docs/03_environment/\351\270\277\350\222\231\347\211\210Flutter\347\216\257\345\242\203\346\220\255\345\273\272\346\214\207\345\257\274.md" @@ -2,31 +2,27 @@ ## 一、环境准备 -### 1.下载并安装鸿蒙最新开发套件,及其依赖环境 +### 1.下载并安装鸿蒙最新DevEco Studio开发工具,及其依赖环境 #### 1.1 官方下载地址 -鸿蒙开发套件官方下载地址:https://developer.harmonyos.com/deveco-developer-suite/enabling/kit +鸿蒙开发套件官方下载地址:https://developer.huawei.com/consumer/cn/download/ ``` 注意事项: (1)目前支持操作系统Linux、Mac、Windows环境下使用 (2)mac系统在终端输入"uname -m"判断系统架构选择对应的开发组件套 如果输出结果是 x86_64,则表示你的系统是x86-64架构 如果输出结果是 arm64,则表示你的系统是arm64架构 -(3)访问鸿蒙开发套件官方下载地址需要进行企业认证,并且通过华为审批,签署隐私条款后才可以看到 - 个人开发者只能看到api9的套件,企业级签约开发者可以看到api 10、11、12的套件 - 最新套件更加稳定,性能更佳,且鸿蒙Flutter需要依赖最新套件编译 ``` #### 1.2 下载清单 -##### (1)根据自身所用电脑系统下载对应套件,需下载最新DevEcoStudio版本4.1.3.700(SP2) +##### (1)根据自身所用电脑系统下载对应最新版DevEco Studio ![](../media/03_1/img_17.png) -##### (2)若无鸿蒙真机,需要下载模拟器 - -![](../media/03_1/img_18.png) +##### (2)若无鸿蒙真机,需在DevEco Studio中下载模拟器 +模拟器下载和安装步骤见:2.2 安装模拟器 ##### (3)下载鸿蒙版flutter 项目地址:https://gitee.com/openharmony-sig/flutter_flutter @@ -38,8 +34,8 @@ ``` ##### (4)下载FlutterEngine构建产物(非必选项) * Flutter工程构建依赖ohos_debug_unopt_arm64与ohos_release_arm64 -* 请在FlutterTools指令运行参数中添加:```--local-engine=src/out/``` -* [下载编译产物](https://docs.qq.com/sheet/DUnljRVBYUWZKZEtF?tab=BB08J2), +* FlutterTools指令运行参数中添加--local-engine字段来指定下载的engine:```--local-engine=src/out/``` ,若不使用--local-engine来指定engine,默认使用云端最新版engine。 使用示例:flutter build hap [--local-engine=/Users/admin/Documents/flutter_engine/src/out/ohos_debug_unopt_arm64] +* [下载编译产物](https://docs.qq.com/sheet/DUnljRVBYUWZKZEtF?tab=BB08J2) * engine路径指向需带上src/out目录; 解压后,存放到一个目录(engine本地路径必须需带上src/out目录):如:/Users/lihui/Documents/flutter_engine/src/out ![](../media/03_1/img_4.png) @@ -53,13 +49,17 @@ java -version ### 2.安装说明 -#### 2.1 解压组件套压缩包后请先阅读《开发前请阅.txt》,按照DevEco Studio环境配置指导.docx完成环境搭建。 +#### 2.1 解压组件套压缩包后点击DevEco Studio的安装包文件,完成DevEco Studio开发工具的安装。 ![](../media/03_1/img_01.png) -#### 2.2 解压模拟器压缩包后请按照《模拟器使用指南.pdf》安装模拟器。 - -![](../media/03_1/img_02.png) +#### 2.2 安装模拟器。 +![](../media/03_1/img_18.png) +![](../media/03_1/img_18_1.png) +![](../media/03_1/img_18_2.png) +![](../media/03_1/img_18_3.png) +![](../media/03_1/img_18_4.png) +![](../media/03_1/img_18_5.png) #### 2.3 环境变量配置 * 首先,利用终端工具确定不同系统的真实环境变量存储路径,执行如下命令 @@ -76,25 +76,27 @@ vi ~/.zshrc ``` * 确定了环境变量存储文件后,进行相关环境变量配置(例如,打开bash_profile文件,执行```vi ~/.bash_profile```命令) ```sh -# 打开bash_profile处理环境变量 -export DEVECO_SDK_HOME=/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/sdk/M1SDK -export HDC_HOME=/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/sdk/M1SDK/HarmonyOS-NEXT-DP2/base/toolchains -export PATH=$PATH:$HDC_HOME -export PATH=$PATH:/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/commandline/command-line-tools/bin +# 国内镜像 +export PUB_HOSTED_URL=https://pub.flutter-io.cn +export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn -# harmonyos sdk环境配置 -export PATH=$PATH:/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/commandline/command-line-tools/sdk -export PATH=$PATH:/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/commandline/command-line-tools/ohpm/bin -export PATH=$PATH:/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/commandline/command-line-tools/hvigor/bin -export PATH=$PATH:/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700/commandline/command-line-tools/tool/node/bin +# 拉取下来的flutter_flutter/bin目录 +export PATH=/Users/admin/ohos/flutter_flutter/bin:$PATH -# flutter_flutter -export PATH=/Users/lihui/flutter/flutter_flutter/bin:$PATH +# HamonyOS SDK +export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境 +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 +export HDC_HOME=$TOOL_HOME/sdk/HarmonyOS-NEXT-DB1/openharmony/toolchains # hdc指令(可选) -# Flutter pub国内镜像 -export PUB_HOSTED_URL=https://pub.flutter-io.cn -export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn +# 可选配置项(使用Android Studio 或者 Visual Studio Code调试时需要配置此项,jdk版本为17.0.12) +JAVA_HOME=/Users/admin/Documents/JDK/jdk-17.0.12.jdk/Contents/Home +PATH=$JAVA_HOME/bin:$PATH:. +export JAVA_HOME +export PATH # 可选配置项(防止由于flutter鸿蒙版的git下载地址环境变量不匹配,影响后续的flutter项目创建) export FLUTTER_GIT_URL=https://gitee.com/openharmony-sig/flutter_flutter.git @@ -107,30 +109,8 @@ export FLUTTER_GIT_URL=https://gitee.com/openharmony-sig/flutter_flutter.git ```sh source ~/.bash_profile ``` -#### 2.4 DevEcoStudio与模拟器安装完后的目录 -``` -/Users/lihui/flutter/software/devecostudio-mac-arm-4.1.3.700 - -开发前请阅.txt --arkui-x-sdk/ --commandline/ --coverage/ --dependencies/ -DevEco Studio环境配置指导.docx -deveco-studio-4.1.3.700-aarch64 --ohpm-repo/ --sdk/ - -M1SDK/ - -emulator/ - -HarmonyOS-NEXT-DP0/ - -HarmonyOS-NEXT-DP2/ - -licenses/ - -system-image/ - -HarmonyOS-NEXT-DP2/ - -phone_arm/ -``` -#### 2.5 运行模拟器 +#### 2.4 运行模拟器 ![](../media/03_1/m1.png) @@ -154,6 +134,7 @@ deveco-studio-4.1.3.700-aarch64 ![](../media/03_1/doctor1.png) + ### 2.创建Flutter工程 创建工程与编译命令,编译产物在${projectName}/ohos/entry/build/default/outputs/default/entry-default-signed.hap下 @@ -165,20 +146,26 @@ flutter create --platforms ohos flutter create # 进入工程根目录编译hap包 -flutter build hap [--local-engine=/Users/lihui/Documents/flutter_engine/src/out/ohos_debug_unopt_arm64] --debug +flutter build hap --debug ``` ### 3.鸿蒙真机运行Flutter项目 +#### 3.1 项目签名 +在运行到真机之前,需要对项目进行签名,具体操作如下: +![](../media/03_1/sign01.png) +![](../media/03_1/sign02.png) + +#### 3.2 鸿蒙真机运行Flutter项目 * 通过```flutter devices```指令发现真机设备之后,获取device-id 方式一:进入项目目录指定构建方式编译hap包并安装到鸿蒙手机中 ```sh - flutter run --debug [--local-engine=/Users/lihui/Documents/flutter_engine/src/out/ohos_debug_unopt_arm64] -d + flutter run --debug -d ``` 方式二:进入工程根目录编译hap包,然后安装到鸿蒙手机中 ```sh - flutter build hap [--local-engine=/Users/lihui/Documents/flutter_engine/src/out/ohos_debug_unopt_arm64] --debug + flutter build hap --debug hdc -t install ``` @@ -213,20 +200,3 @@ flutter build hap [--local-engine=/Users/lihui/Documents/flutter_engine/src/out/ #### 5.1 无法创建模拟器 情况1:使用实名制认证的账号进行签名 - - 情况2:请确认模拟器中Emulator与phone压缩包解压的位置。确保解压在sdk根目录下且文件结构如下: - -``` -#sdk/M1SDK为根目录 - --sdk/ - -M1SDK/ - -emulator/ - -system-image/ - -HarmonyOS-NEXT-DP2/ - -phone_arm/ - -HarmonyOS-NEXT-DP0/ - -HarmonyOS-NEXT-DP2/ - -licenses/ - -``` \ No newline at end of file diff --git a/ohos/docs/media/03_1/img_01.png b/ohos/docs/media/03_1/img_01.png index 09df55e36f723988489e99a1650f481778b397cd..e41454257c53cb4086741648f7a96256eb3ce3a2 100644 Binary files a/ohos/docs/media/03_1/img_01.png and b/ohos/docs/media/03_1/img_01.png differ diff --git a/ohos/docs/media/03_1/img_17.png b/ohos/docs/media/03_1/img_17.png index e4d081f44fd8f5b4ced6b9e970b6710ad181052c..c580172beb5e97d905ec5d9a062d838ff7d9373a 100644 Binary files a/ohos/docs/media/03_1/img_17.png and b/ohos/docs/media/03_1/img_17.png differ diff --git a/ohos/docs/media/03_1/img_18.png b/ohos/docs/media/03_1/img_18.png index 78114101cce063ae8fddf8d7073385b19926bfe9..89ba00a87ac878af6c0a4c0b0608da8c50a6c0cd 100644 Binary files a/ohos/docs/media/03_1/img_18.png and b/ohos/docs/media/03_1/img_18.png differ diff --git a/ohos/docs/media/03_1/img_18_1.png b/ohos/docs/media/03_1/img_18_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4255f742a7b7716c346bc41a5ff36722db76ff2c Binary files /dev/null and b/ohos/docs/media/03_1/img_18_1.png differ diff --git a/ohos/docs/media/03_1/img_18_2.png b/ohos/docs/media/03_1/img_18_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a7cc7c95e903aee408cc993623ec61f920ad4c89 Binary files /dev/null and b/ohos/docs/media/03_1/img_18_2.png differ diff --git a/ohos/docs/media/03_1/img_18_3.png b/ohos/docs/media/03_1/img_18_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6fcd1b3e1b295a7373eb95e91c41ac4fa4919a53 Binary files /dev/null and b/ohos/docs/media/03_1/img_18_3.png differ diff --git a/ohos/docs/media/03_1/img_18_4.png b/ohos/docs/media/03_1/img_18_4.png new file mode 100644 index 0000000000000000000000000000000000000000..53630d0934920538cbbd5ab5f904bd8ef646ed81 Binary files /dev/null and b/ohos/docs/media/03_1/img_18_4.png differ diff --git a/ohos/docs/media/03_1/img_18_5.png b/ohos/docs/media/03_1/img_18_5.png new file mode 100644 index 0000000000000000000000000000000000000000..984e41464b0d07a94592172581813be2e2105d7e Binary files /dev/null and b/ohos/docs/media/03_1/img_18_5.png differ diff --git a/ohos/docs/media/03_1/sign01.png b/ohos/docs/media/03_1/sign01.png new file mode 100644 index 0000000000000000000000000000000000000000..84690c55bd85eb3f2b5913bb3cb43a32b7c59d84 Binary files /dev/null and b/ohos/docs/media/03_1/sign01.png differ diff --git a/ohos/docs/media/03_1/sign02.png b/ohos/docs/media/03_1/sign02.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d384c991e341d619d37213281732fc9f1b63ab Binary files /dev/null and b/ohos/docs/media/03_1/sign02.png differ