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 # 理论可以不加
1212rustup 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
29273 . 安装ohrs
3028
@@ -41,9 +39,9 @@ git clone https://github.com/TeamFlos/phira
4139git 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
6260OHOS_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
88844 . 开始构建
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
95915 . 构建成功之后会在 ` 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