Skip to content

Commit b7ef869

Browse files
committed
fix: review
1 parent f49bd3a commit b7ef869

1 file changed

Lines changed: 24 additions & 28 deletions

File tree

src/phira_build_guide/OpenHarmony.md

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 准备阶段
44

5-
1. 首先需要新增ohos平台,如果你没有安装`cargo`,如果没有安装,请点击 [这里](https://rust-lang.org/learn/get-started/) 按系统安装构建工具。
5+
1. 首先需要新增 ohos 平台,如果你还没有安装 `cargo`,请点击 [这里](https://rust-lang.org/learn/get-started/) 按系统安装构建工具。
66

77
更多内容可以参考 [ohos-rs](https://ohos.rs/)
88

@@ -12,19 +12,17 @@ rustup target add armv7-unknown-linux-ohos # 理论可以不加
1212
rustup target add x86_64-unknown-linux-ohos # 理论可以不加,如果不在x86的模拟器运行
1313
```
1414

15-
2. 你只需要下载最新的 `DevEco-Studio` 然后安装对应的 `NDK` 即可. 你可以在 [Deveco Studio (windows/macos平台)](https://developer.huawei.com/consumer/cn/deveco-studio/)或者配置[Command Line Tools(推荐Linux平台)](https://developer.huawei.com/consumer/cn/download/command-line-tools-for-hmos) 找到并且下载。
15+
2. 你只需要下载最新的 `DevEco-Studio` 然后安装对应的 `NDK` 即可你可以在 [DevEco Studio (Windows/macOS 平台)](https://developer.huawei.com/consumer/cn/deveco-studio/) 或者配置 [Command Line Tools(推荐 Linux 平台)](https://developer.huawei.com/consumer/cn/download/command-line-tools-for-hmos) 找到并且下载。
1616

1717
下载完成之后,你需要为系统设置一个环境变量来帮助我们构建原生模块。假设你安装的 SDK 路径为 /path/Sdk,那么我们只需要设置如下的环境变量即可:
1818

19-
```
20-
# 通常情况下,Windows/MacOS下的Deveco Studio已经包含了一套齐全的ndk。你只需要设置OHOS_NDK_HOME为Deveco Studio位置/sdk/default/openharmony即可。
21-
# 这里Deveco Studio的版本不得低于6.0.0(API 20).
22-
# MacOS示例,这里仅推荐ARM版的MacOS对本项目进行开发。
23-
export OHOS_NDK_HOME=/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony
24-
# Windows的Deveco Studio sdk 示例位置。
25-
set OHOS_NDK_HOME="C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony"
26-
# 针对Linux平台,因为没有Deveco Studio支持,只能下载Command Line Tools。下载位置需要自行确定并且设置OHOS_NDK_HOME。
27-
```
19+
| 平台 | NDK 路径 | 环境变量设置方法 |
20+
|------|----------|------------------|
21+
| **MacOS** | `/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony` | 在终端执行:<br>`export OHOS_NDK_HOME=/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony`<br>建议添加到 `~/.zshrc``~/.bash_profile` 使其永久生效 |
22+
| **Windows** | `C:/Program Files/Huawei/DevEco Studio/sdk/default/openharmony` | 1. 打开系统环境变量设置<br>2. 新建系统变量 `OHOS_NDK_HOME`<br>3. 变量值填入上述路径<br>或 PowerShell 临时设置:<br>`$env:OHOS_NDK_HOME="C:/Program Files/Huawei/DevEco Studio/sdk/default/openharmony"` |
23+
| **Linux** | 下载 Command Line Tools 后的自定义路径 | 在终端执行:<br>`export OHOS_NDK_HOME=/your/download/path/openharmony`<br>建议添加到 `~/.bashrc``~/.profile` 使其永久生效 |
24+
25+
> **注意**`Deveco Studio``Command Line Tools` 版本不得低于 6.0.0 (API 20)。MacOS 仅推荐 ARM 版进行开发。
2826
2927
3. 安装ohrs
3028

@@ -41,9 +39,9 @@ git clone https://github.com/TeamFlos/phira
4139
git clone https://github.com/TeamFlos/phira-ohos
4240
```
4341

44-
2. 静态库文件,您可以在 [ESA](https://www.nuanr-mxi.com/prpr-avc.zip)[EdgeOne](https://eo.nuanr-mxi.com/prpr-avc.zip) 下载静态库文件,下载完成后直接解压到 phira 代码根目录下,如果提示覆盖文件,请点击覆盖
45-
46-
3. 添加 `config.toml` ,配置cmake位置,此部分为编译ohos平台的phira所需要的
42+
2. 静态库文件,您可以在 [prpr-avc-ffmpeg](https://github.com/TeamFlos/prpr-avc-ffmpeg/releases) 下载 `aarch64-unknown-linux-ohos.tar.gz`,并解压所有链接库文件 `*.a``phira/prpr-avc/static-lib/aarch64-unknown-linux-ohos`
43+
44+
3. 添加 `config.toml`,配置 cmake 位置,此部分为编译 ohos 平台的 phira 所需要的
4745

4846
```
4947
$ cd phira
@@ -62,16 +60,14 @@ CMAKE_MAKE_PROGRAM = "/你的ohos sdk位置/command-line-tools/sdk/default/openh
6260
OHOS_NDK_HOME = "/你的ohos sdk位置/command-line-tools/sdk/default/openharmony"
6361
```
6462

65-
针对 `Windows` 平台,你需要在项目的 `.cargo` 文件夹中新建 `cmake-wrapper.cmd`
63+
针对 `Windows` 平台,你需要在项目的 `.cargo` 文件夹中新建 `cmake-wrapper.cmd`,我们采用临时变量的方式防止与系统默认的cmake发生冲突
6664

6765
`.cargo/cmake-wrapper.cmd`
6866

69-
我们采用临时变量的方式防止与系统默认的cmake发生冲突
70-
7167
```
7268
@echo off
73-
set PATH=D:\你的ohos sdk位置\default\openharmony\native\build-tools\cmake\bin;%PATH%
74-
"D:/你的ohos sdk位置\default\openharmony\native\build-tools\cmake\bin\cmake.exe" %*
69+
set PATH=D:/你的ohos sdk位置/default/openharmony/native/build-tools/cmake/bin;%PATH%
70+
"D:/你的ohos sdk位置/default/openharmony/native/build-tools/cmake/bin/cmake.exe" %*
7571
```
7672

7773

@@ -88,27 +84,27 @@ CMAKE_MAKE_PROGRAM = "D:/你的ohos sdk位置/default/openharmony/native/build-t
8884
4. 开始构建
8985

9086
```
91-
phira>cd phira #这里要进入到phira文件夹。否则会没有产物输出
92-
phira/phira>ohrs build --release --arch aarch #可以不加--arch 参数,即默认在x86_64 armv7 arm64编译,但目前鸿蒙设备均为arm64
87+
phira> cd phira # 这里要进入到 phira 文件夹,否则会没有产物输出
88+
phira/phira> ohrs build --release --arch aarch # 可以不加 --arch 参数,即默认在 x86_64、armv7、arm64 编译,但目前鸿蒙设备均为 arm64
9389
```
9490

9591
5. 构建成功之后会在 `phira/dist/<对应的arch>` 找到 `libphira.so`
9692

97-
6. `phira-ohos` 代码目录下不包含资源文件,你需要提前将 `assets/` 文件夹提前复制到 `entry/src/main/resources/resfile/assets`如果您发现主程序黑屏,您可以前往 [release](https://github.com/TeamFlos/phira/releases)页面下载任意版本,获取缺失的资源文件并且复制到同一目录
93+
6. `phira-ohos` 代码目录下不包含资源文件,你需要提前将 `assets/` 文件夹复制到 `entry/src/main/resources/resfile/assets`如果您发现主程序黑屏,可以前往 [Release](https://github.com/TeamFlos/phira/releases) 页面下载任意版本,获取缺失的资源文件并复制到同一目录
9894

99-
7. 进入 `phira-ohos` 文件夹中,`build-profile-nosigncfg.json5` 改成 `build-profile.json5` ,然后打开 `Deveco Studio`
95+
7. 进入 `phira-ohos` 文件夹中`build-profile-nosigncfg.json5` 改成 `build-profile.json5`,然后打开 `DevEco Studio`
10096

101-
连接设备,在 `Project Structure` 中找到 `Signing configs` 选择 `Automatically generate signature` 后点击 `Apply`同时项目会自动触发Sync
97+
连接设备,在 `Project Structure` 中找到 `Signing configs`选择 `Automatically generate signature` 后点击 `Apply`同时项目会自动触发 Sync
10298

10399
![](image.png)
104100

105-
Project Structure位置在箭头所示
101+
Project Structure 位置如箭头所示
106102

107-
复制生成的 `libphira.so``entry/libs/arm64-v8a`文件夹中。点击编译即可在ohos设备运行
103+
复制生成的 `libphira.so``entry/libs/arm64-v8a` 文件夹中。点击编译即可在 ohos 设备运行
108104

109105

110106
## 常见问题
111107

112-
如果出现非常奇怪的编译报错,请考虑移步到~~arm64的MacOS~~或者 `WSL` 平台编译。
108+
如果出现非常奇怪的编译报错,请考虑移步到 ~~arm64 的 MacOS~~ 或者 `WSL` 平台编译。
113109

114-
Deveco Studio并没有Linux原生版本
110+
DevEco Studio 并没有 Linux 原生版本

0 commit comments

Comments
 (0)