OpenHarmony开发资料归档
OpenHarmony Gitee地址
目录
一、板子组装
二、WSL2安装
三、获取源码
注册码云gitee账
注册码云SSH公钥
安装git客户端和git-lfs并配置用户信息
安装repo工具
下载主干master分支源码
四、编译
编译环境准备
版本编译
daily构建版本或转测版本获取
五、烧写
正常烧写
变砖拯救
六、Hdc工具连接设备
七、 测试套编译和执行
测试套编译
用例执行
1.手动执行
2.xdevice自动执行
八、串口调试
九.代码上库
上库流程
提交PR关联issue
分支挑单
Web 页端修改提交
格式化检查
写在前面可参考
PS:使用wsl2作为Windows下Ubuntu环境时提升代码编译等效率的几个点:
1.安装完wsl后,检查wsl的版本,确保是版本2(cmd执行wsl -l -v查看,如果不是,可通过wsl.exe -set-version Ubuntu-20.04 2转换成版本2)
2.wsl2安装完成后,切换软件源为国内软件源,可参考(亲测好用)Ubuntu20.04换阿里源(解决安装build-essential失败问题)_AnChenliang_1002的博客-CSDN博客
3.默认是安装在系统盘的,可安装完后迁移到非系统盘
4.OpenHarmony代码相关操作建议在wsl2个人用户家目录下操作
大致流程:
一、板子组装
板子组装按照方便,使用安全组装即可,注意屏幕和摄像头的排线插的顺序,插反可能会导致屏幕不亮、摄像头不能用等情况。
二、WSL2安装
InsStep:
1.打开设置->安全和更新->开发者选项,选择为“开发人员模式”;
2.Win + R运行control appwiz.cpl指令,在启用或关闭Windows功能中勾选适用于Linux的Windows子系统和虚拟机平台两项启用,重启(注:没有虚拟机平台的,请升级Windows系统,Win10 版本 为 2004(内部版本19041或更高),);
3.以管理员身份打开PowerShell并运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 开启Windows子系统功能;
4.打开Microsoft Store搜索Ubuntu,安装Ubuntu20.04:
6.将Ubuntu Shell环境修改为bash
执行sudo dpkg-reconfigure dash,选择No,将Ubuntu shell由dash修改为bash
如图,执行ls -l /bin/sh查看:
PS: root和个人用户密码忘记,修改可参考win10子系统 WSL如果root和其他用户的密码都忘记的修复方法 – Halo3224 – 博客园
7.python3环境
Ubuntu20已自带python3.8.5,执行sudo update-alternatives –install /usr/bin/python python /usr/bin/python3 150切换python3:
??
安装pip3
$ sudo apt-get -y update
$ sudo apt-get install python3-pip
8.安装完成,用户账 设置好之后,打开命令行窗口执行wsl -l -v查看下wsl的版本(注:cmd,wsl找不到的请更新windows版本),确保是wsl2,如果是版本1,可执行wsl.exe –set-version Ubuntu-20.04 2命令升级为版本2,执行后等待转换完成即可!!注意一定要是WSL2,如果是版本1,编译速度会慢几十倍!
PS:执行wsl.exe –set-version Ubuntu-20.04 2出现内核组件问题,先下载安装
wsl_update_x64.msi后,在执行切换命令,即可开始转换,等待转换完成即可。
9.wsl2迁移参考OpenHarmony代码操作总结wsl迁移部分
10.wsl2安装完成后,切换软件源为国内软件源:
s1:备份原来的源:cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak
s2: 将源换成阿里源:sudo vim /etc/apt/sources.list,将里面的内容清空,把下面的内容复制进去,保存退出
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
s3: 更新缓存和升级:
sudo apt-get update
sudo apt-get upgrade
PS:按上述步骤切换软件源后可解决一Ubuntu20.04一些依赖工具安装失败的问题
11.WSL映射到本地
如图:
本地方便查看
PS:更多请参考WSL文档介绍:什么是适用于 Linux 的 Windows 子系统 | Microsoft Docs
三、获取源码
代码初次下载需要做一些前期准备工作:主要有码云gitee账 注册、添加码云SSH公钥、安装git和git-lfs、配置用户信息、repo工具安装
注册码云gitee账
电话 码注册即可,并添加工作邮箱为主邮箱,如图:
注册码云SSH公钥
参考码云 生成/添加SSH公钥
如图:
如图,检测公钥是否添加成功:
安装git客户端和git-lfs并配置用户信息
安装git客户端
执行:
sudo apt install git-all
安装git-lfs
依次执行以下命令:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
配置用户信息
git config –global user.name “yourname”
git config –global user.email “your-email-address”
git config –global credential.helper store
安装repo工具
安装码云repo工具,由于权限可切换到root用户下安装,安装后再切换个人用户目录操作既可:
执行:
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
下载主干master分支源码
repo init -u git@gitee.com:openharmony/manifest.git -b master –no-repo-verify
repo sync -c
repo forall -c ‘git lfs pull’
ps:git lfs
rk3568对应仓库
device/hihope/rk3568
四、编译
代码下载后初次编译需要做一些前期准备工作:主要有依赖工具安装、预编译
编译环境准备
S1:安装依赖工具
S2:执行prebuilts,在源码根目录下执行,安装编译器及二进制工具
版本编译
进入源码根目录,执行:
64位:
32位:
编译结果
编译完成后,log显示如下:
镜像路径:outrk3568packagesphoneimages
daily构建版本或转测版本获取
daily构建版本
http://ci.openharmony.cn/dailys/dailybuilds
PS:hdc工具除过自己本地编译,也可以从流水线构建本下载:
转测版本
Release-Testing-Version.md · OpenHarmony-SIG/oh-inner-release-management – Gitee.com
五、烧写
烧写所需驱动和工具获取
usb驱动安装
双击windowsDriverAssitantDriverInstall.exe安装usb驱动
正常烧写
烧写
双击windowsRKDevTool.exe打开烧写工具,工具界面击烧写步骤如图所示:
MASKROM模式和LOADER模式两种模式下可供烧写,推荐LOADER模式烧写,非必要不使用MASKROM按键操作烧写。
LOADER模式烧写:板子上电状态,PC usb线连接板子,先按住板子上的Recovery键,然后按一下reset键,待工具界面显示LOADER设备后,松开Recovery键,设备进入loader模式,点击执行开始烧写,如图:
S1:5月9日主干分支上午11点之后的版本烧写分区有更新,工具需要导入镜像包中的config.cfg文件,(记得替换原工具路径下的config.cfg文件):
下面其他烧写模式操作一样!!!
S2: 烧写
MASKROM模式烧写: 设备断开电源状态,PC usb线连接设备,先按住板子上的MASKROM按键,设备上电,待工具界面显示MASKROM设备后,松开MASKROM键,系统进入MASKROM模式,点击执行开始烧写,具体步骤截图与上图一样(注:MASKROM模式烧写,需勾选Loader下载项)。
变砖拯救
烧写时由于烧写不当,比如uboot文件烧错等,导致烧写工具MASKROM和Loader模式都发现不了设备,设备无法启动的情况下,可按照如下操作进行烧写:
Windows下,设备连接电源状态,PC连接设备(通过USB),同时按住reset 键maskrom 按键,然后先松开reset键,待工具界面显示MASKROM设备后,再松开MASKROM键,设备进入MASKROM模式,勾选Loader,MASKROM模式下点击执行开始烧写即可。
如图:沟通Loader下载项,MASKROM模式开始烧写:
注:烧写分区请按LOADER模式烧写重新导入配置,其他不变
PS: 模式是设备变砖的最后一条防线。强行进入 涉及硬件操作,有一定风险,因此仅在设备进入不了 模式的情况下,方可尝试 模式。进入 的原理是人为的把 EMMC 的数据脚与地线短接,系统会认为 EMMC 数据出错,从而清除 EMMC 数据。
参考MaskRom模式 — Firefly Wiki
六、Hdc工具连接设备
hdc的版本和设备版本保持一致,可自己编译最新hdc工具:源码根目录执行./build.sh –product-name ohos-sdk –ccache,直接copy到本地路径(可将hdc_std.exe改为hdc.exe方便点)加入环境变量,如图:
七、 测试套编译和执行
更多可参考OpenHarmony测试子系统,自测试框架介绍
测试套编译
到/test/xts/acts目录下执行./build.sh product_name=rk3568 system_size=standard target_subsystem=××××可编译单个子系统测试套
编译结果查看:/out/rk3568/suites/acts/
用例执行
编译生成的可执行文件(C++用例等)和hap包(js用例等)在testcases目录下,用例执行可以将可执行文件或hap包通过hdc send到设备制定目录,通过./***或aa start的方式执行,也可以连接设备后,将编译生成的acts文件夹coay到Windows本地,cmd命令行进入acts目录,运行run.bat,然后执行run acts的方式开始执行用例,用例执行的 告和log会在acts目录下生成。
PS:运行run.bat依赖于编译生成的tools文件夹下的工具,tools文件夹如果为空,请检查编译工具是否安装全。
举个例子
1.手动执行
以本地手动执行js测试用例为例,ps:安装到设备上的应用信息,可通过bm dump –命令查看,比如应用包名,应用Mainability等,C++用例直接将可执行文件send到设备指定目录,chmod权限后,./***执行即可。
如图:
S1:子系统测试套编译
S2:hap安装
S3:启动应用执行测试用例,并将hilog日志保存到本地方便产看
日志查看:
2.xdevice自动执行
环境准备:
1>.hdc端口映射
hdc_std kill
hdc_std -m -s 0.0.0.0:8710
2>.用例执行前设备上先执行日志清理和关闭日志限流操作,在开始执行用例:
hilog -r
hilog -G 1G
hilog -Q pidoff
本地环境需求:python(最好python3.7)、安装pthon依赖包setuptools,最新版本的hdc_std,并将hdc_std.ext的路径加入到环境变量path中;
1>.将测试套编译生生成outrk3568suites目录下的acts文件夹copy到本地任意目录方便执行
2>.cmd进入acts所在目录运行acts目录下的run.bat脚本:
ps:可执行list查看本地设备是否连接成功:
3>.执行run acts即可自动化开始全量执行acts目录下所有的用例并完成执行 告解析以及日志收集等:
ps:按模块执行(具体模块可以查看actstestcases):
用例执行 告查看:
日志查看:
PS:
编译完成后,outrk3568suitesactstools目录为空的,导致用例无法自动化执行的可参考OpenHarmony-常见问题解决(持续
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!