【OHOS】常用命令整理
目录
- 1、编译
-
- 1.1 正常编译
- 1.2 编译指定目录
- 2、hdc工具
-
- 2.1 安装hdc工具
- 2.2 烧写部分文件
- 2.3 全部重新烧写
- 3、打印日志
- 4、shell中一些常用命令
-
- 4.1 git
- 4.2 其他搜索命令
- 4.3 配置bash快捷命令
- 5、IDE相关
-
- 5.1 本地IDE新增接口(OHOS还未更新接口的定义)
- 6、应用开发工具使用
1、编译
1.1 正常编译
- repo sync -c -j16 同步代码(synch同步)
同步代码报错时:1.快速找到第一个报错: repo sync -c -j16 -j1 --fail-fast2.云端与本地不兼容报错需要强制更新一下某个文件(报错会提示强制同步对应文件):repo sync --force-sync base/security/deviceauth
- 同步代码大面积失败时,环境重置
1.安装依赖包: unix_time=`date '+%s'`;for one_tools in `curl -s -k https://gitee.com/landwind/openharmony_oneclick_env_init/raw/master/apt_install.list`;do echo "apt-get install -y ${one_tools}">>/tmp/openharmony_deps_${unix_time}.sh; done;sudo apt-get update;sudo bash -x /tmp/openharmony_deps_${unix_time}.sh2.删除out: rm -rf out3.重置工作区,删除所有修改(记得备份你改的代码): repo forall -c "pwd;git reset --hard; git clean -fd"4.更新最新代码: repo sync -c -j8; repo forall -c "pwd;git lfs install;git lfs pull"5.执行prebuilts下载脚本: bash build/prebuilts_download.sh
- 环境重置失败时,全部重置
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify(注:manifest清单,里面的.xml文件记录了所有文件的路径)repo sync -c -j16-----------一次性操作repo forall -c 'git lfs pull'bash build/prebuilts_download.sh(注:代码同步后编译报错插件问题,说明插件有更新,执行一次更新插件)./build/prebuilts_download.sh --no-check-certificatie -skip-ssl
- 同步代码成功时,编译【在master目录下】
一般情况下用这个命令就够了:./build.sh --product-name rk3568 --ccache更多功能使用:./build.sh --export-para PYCACHE_ENABLE:true --product-name rk3568 --ccache --build-target make_all --build-target make_test(注:其中 --build-target make_test 打印测试日志,目前阶段可以不加)64位编译:./build.sh --product-name rk3568 --ccache --build-target make_all --build-target make_test --target-cpu arm64 --gn-args enable_notice_collection=false注:有时编译的时候三方库会出现未识别的标识符,直接删掉该目录或注释对应问题行,重新同步代码
- 编译失败时,使用三板斧
1.删除out, rm -rf out2.更新工具链:./build/prebuilts_download.sh3.更新二进制:repo forall -c "git lfs pull"
1.2 编译指定目录
./build.sh --product-name rk3568 --export-para BUILD_AOSP:false --export-para PYCACHE_ENABLE:true --build-target ability_runtime_test(注:这里指定的目录是ability_runtime_test)
2、hdc工具
2.1 安装hdc工具
1.hdc的版本和设备版本保持一致,可自己编译最新hdc工具:./build.sh --product-name ohos-sdk --ccache2.源码根目录执行生成的hdc工具直接copy到本地路径(可将hdc_std.exe改为hdc.exe方便点),加入环境变量
- 冷知识:
win中到对应目录下的路径框输入cmd,cmd会直接进入当前路径
2.2 烧写部分文件
部分文件指修改后重新编译的那部分:
1.进入cmd:win+r2.给hdc权限(经常会没有权限):hdc shell mount -o remount,rw /3.修改完编译好,推对应的so包:hdc file send XXX\libabilityms.z.so /system/lib/例:把libabilityms.z.so放到D盘下面,XXX就是D:\hdc_file,注意win中是\,linux中是/4.设备重启注:有时编译通过,但是刷机会卡在开机界面,这个时候需用编译失败三板斧重新编译
2.3 全部重新烧写
1.更新镜像config文件2.更改镜像其他配置文件,把路径换了
3、打印日志
- hdc介绍及命令
鸿蒙设备连接器——HDC-开源基础软件社区-51CTO.COM
1.源文件添加日志,可用HILOG_ERROR()等 -- 格式符%{public}s 其中public可见,s表示string2.源文件修改完编译好,推这个so包就行了,cmd推送命令hdc file send XXX/libabilityms.z.so /system/lib/3.收集hilog日志hdc shell进入设备(注:hdc在win中,不在shell中) hilog -w start 启动日志落盘(把log保存成文件)ls /data/log/hilog 查看日志exit 退出4.退出shell后,把设备中文件/data/log/hilog/* 拷贝到D盘下面,注意必须全名hdc file recv /data/log/hilog/*001.gz D:\5.使用notepad++打开进行查看
4、shell中一些常用命令
4.1 git
什么是git? 文件版本管理工具什么是repo? git们的管家,执行repo就是执行了N个不同的git命令git status 查看上次的状态(status)【必须进入到对应的小目录下】本地同步时保留修改:git stash 将本地的修改存放(stash)到栈 【进入到对应的小目录】repo sync -c -j16 同步代码到本地git stash pop 将栈的保存替换到本地,并清空栈
4.2 其他搜索命令
find -name *.hap | grep -E setting 搜索所有hap包中带setting的文件history | grep -E ./build.sh 查看历史命令中带./build.sh的命令
4.3 配置bash快捷命令
vim ~/.bash_aliases//把下面这些复制,保存(可根据自己需要进行配置)alias 0='cd ~/OpenHarmony/master'alias 1='cd ~/OpenHarmony/master/foundation/ability/ability_runtime'alias 10='repo sync -c -j16'alias 11='./build.sh --product-name rk3568 --ccache'alias ..='cd ..'alias ...='cd ../..'alias ....='cd ../../..'alias .....='cd ../../../..'alias ......='cd ../../../../..'//执行生效source ~/.bash_aliases
5、IDE相关
5.1 本地IDE新增接口(OHOS还未更新接口的定义)
1、找到新增接口:码云->OpenHarmony->interface_sdk-js,点击Pull Requests->文件,可以看到里面【对应文件】新增的接口及其内容,注意本地IDE的SDK路径要与【对应文件】的路径保持一致!!!
2、找到对应API路径:C:\Users\xuzheheng\AppData\Local\OpenHarmony\Sdk\ets\3.2.2.5\api
路径 = 本地IDE的SDK路径 + 开发语言 + 开发版本
-
IDE点击Tools->SDK Manager查看SDK路径
-
查看开发语言和版本 - 在External Libraries下能看到eTs-3.2.2.5。
3、在上述路径新建同名的文件夹,将新增接口的内容填充进去,生成对应的HAP包
4、关于接口的使用参考:
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-applicationContext.md
其中import时要注意去掉./这些。
6、应用开发工具使用
- 卸载文件:
hdc shell 进入shellbm dump -a 显示所有文件bm uninstall -n com.example.amsstageapplication 卸载对应文件“com.example.amsstageapplication”
- 安装文件:
hdc file send .\sign-normal.hap /data/ 把对应的hap包发送到板子/data/中hdc shell 进入shellcd /data 进入hap目录bm install -p sign-normal.hap 在hap包所在的目录中安装
-
通过签名工具安装文件(推荐):
1、install–basic.bat使用用notepad++打开后,-inputFile后面改成生成的hap包地址(本地绝对地址)
2、配置好脚本后执行,给编译好的hap包签名并推包进入板子
3、然后点击install–basic.bat执行
其中.hap包就是编译成功的包。注意在build-default-outputs-default目录下