赞
踩
目录
(4)配置NodeJS环境和获取Node_modules依赖包
操作系统: WIN7+Vmware15.1.0+Ubuntu18.04
内存配置: 8G内存
2021年6月2日鸿蒙操作系统正式版正式发布,同时在https://gitee.com/openharmony/同步开源了OpenHarmony2.0源码和相关的文档,OpenHarmony是由开放原子开源基金会(OpenAtom Foundation,以下简称“基金会”)孵化及运营的开源项目,由基金会的OpenHarmony项目群工作委员会负责运作,主要遵循Apache 2.0协议开源,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
本文将从Ubuntu开发环境部署和OpenHarmony2.0编译配置两个方面讲解一下注意事项。虽然华为在gitee上也发布了比较详细的操作手册,但有些操作步骤还是需要注意,否则会出现莫名其妙的问题。
安装包方式具体操作分为如下几步:
安装命令如下:
|
注意:以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。尤其是git-lfs
必须安装,
OpenHarmony2.0比之前的版本新增了从repo下载二进制文件需求。
获取方式1:从镜像站点下载归档后的发行版压缩文件。如果要获取旧版本的源码,也可通过此方式获取(推荐)。
获取方式2:通过HPM包管理器获取。在HPM网站,查找满足需求的开源发行版,直接下载(或者定制后下载),再通过hpm-cli命令工具将所需的组件及工具链下载、安装到本地。
获取方式3:从代码仓库获取。通过repo或git工具从代码仓库中下载。
本文将采用获取方式3从代码仓库获取OpenHarmony2.0标准系统源码(2.0 Canary)
获取方式3:从代码仓库获取
适用场景
Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。在Ubuntu18.04控制台终端进行操作,可以按如下命令来生成sshkey。
ssh-keygen -t rsa -C "cpuos2010@qq.com"
Generating public/private rsa key pair...
注意:这里的“cpuos2010@qq.com”只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。按照提示完成三次回车,即可生成 ssh key。通过查看~/.ssh/id_rsa.pub文件内容,获取到你的public key。
cat ~/.ssh/id_rsa.pub # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc.... |
复制生成后的 ssh key,通过个人在Gitee注册的仓库主页[个人设置] –>[安全设置]->「SSH公钥」,在右边红色箭头处方框添加刚才生成的 public key,点击确定即可。
git config --global user.name "cpuos2010" git config --global user.email "cpuos2010@qq.com" git config --global credential.helper store |
(4)安装码云repo工具,可以执行如下命令。注意该步操作官方版本貌似有权限问题不能执行。所以做了相应的调整,执行下面命令后码云repo工具运行正常。
cd ~ curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo sudo cp repo /usr/local/bin/repo && sudo chmod a+x /usr/local/bin/repo sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests |
(5)获取标准系统源码(2.0 Canary)
1)创建OpenHarmony工作目录。
mkdir OpenHarmony
2)切换到OpenHarmony工作目录。
cd OpenHarmony
3)repo初始化。
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
4)更新代码。
repo sync -c
5)更新二进制。
repo forall -c 'git lfs pull'
因为上一步骤下载的源码不包括prebuilts目录的大部分工具,所以务必执行这一步操作,否则编译系统会出现错误。
1)切换到OpenHarmony工作目录。
cd OpenHarmony
2)下载脚本。
curl https://gitee.com/landwind/script-tools/raw/master/Shell/OpenHarmony/OpenHarmony_2.0_canary_prebuilts_download.sh >./prebuilts_download.sh
3)下载并解压prebuilts压缩包到指定位置。
bash ./prebuilts_download.sh
二进制默认存放在与OpenHarmony同目录下的OpenHarmony_2.0_canary_prebuilts下,如需修改默认位置,请编辑prebuilts_download.sh修改bin_dir值。
4)切换到之前的目录。
cd -
为了编译JS Framework,开发者需要在Linux服务器下载配置NodeJS(注意:步骤中OpenHarmony目录指代当前工程的根目录,可自定义),具体操作如下:
1)开发者在Ubuntu18.04下载Nodejs。
- mkdir -p OpenHarmony/prebuilts/build-tools/common/nodejs
- #创建nodejs目录
- cd OpenHarmony/prebuilts/build-tools/common/nodejs
- #进入nodejs目录
- wget --no-check-certificate https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.gz
- #下载nodejs源码
- tar -zxvf node-v12.18.4-linux-x64.tar.gz
- #解压nodejs压缩包
- cd -
- #切换到之前的目录
2)配置NodeJS环境变量,下载node_modules包。
- cd OpenHarmony/third_party/jsframework
- #进入jsframework目录
- export PATH=../../prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin:${PATH}
- #设置NodeJS环境变量
- npm install
- #下载node_modules包
- cd -
- #切换到之前的目录
3)把下载的node_modules包放入OpenHarmony代码的prebuilts/build-tools/common/js-framework目录下。
- mkdir -p OpenHarmony/prebuilts/build-tools/common/js-framework
- #创建js-framework目录
- cp -rp OpenHarmony/third_party/jsframework/node_modules OpenHarmony/prebuilts/build-tools/common/js-framework/
hc-gen用于进行驱动编译,具体安装步骤如下:
1)打开Ubuntu18.04编译服务器终端。
2)下载hc-gen工具。
3)解压hc-gen安装包到Linux服务器~/hc-gen路径下。
tar -xvf hc-gen-0.65-linux.tar -C ~/
4)设置环境变量。
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/hc-gen:$PATH
5)生效环境变量。
source ~/.bashrc
系统要求:Ubuntu16.04及以上64位系统版本。
编译环境搭建分为如下几步,注意操作步骤一定要按照OpenHarmony_1.0.1_release和标准系统源码(2.0 Canary)工具版本版本进行区分,不能交叉混合使用。严格按照获取源码里面的文档操作。
docs/zh-cn/device-dev/quick-start/Ubuntu编译环境准备.md
注意:需要注意python版本问题,本文用的Ubuntu18.04的系统python版本为python3.8
设置python和python3软链接为python3.8。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
(1)进入源码根目录,执行如下命令进行版本编译。
./build.sh --product-name Hi3516DV300
至此,OpenHarmonyOS2.0操作系统设备级编译成功,编译所生成的文件都归档在out/ohos-arm-release/目录下,结果镜像输出在 out/ohos-arm-release/packages/phone/images/ 目录下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。