• 【OHOS】常用命令整理


    1、编译

    1.1 正常编译

    1. repo sync -c -j16 同步代码(synch同步)
    同步代码报错时:
    1.快速找到第一个报错: repo sync -c -j16 -j1 --fail-fast
    
    2.云端与本地不兼容报错需要强制更新一下某个文件(报错会提示强制同步对应文件):
    repo sync --force-sync base/security/deviceauth
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 同步代码大面积失败时,环境重置
    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}.sh
    
    2.删除out:  rm -rf out
    
    3.重置工作区,删除所有修改(记得备份你改的代码): 
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    1. 环境重置失败时,全部重置
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    1. 同步代码成功时,编译【在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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 编译失败时,使用三板斧
    1.删除out, rm -rf out
    2.更新工具链:./build/prebuilts_download.sh
    3.更新二进制:repo forall -c "git lfs pull"
    
    • 1
    • 2
    • 3

    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)
    
    • 1
    • 2

    2、hdc工具

    2.1 安装hdc工具

    1.hdc的版本和设备版本保持一致,可自己编译最新hdc工具:
    ./build.sh --product-name ohos-sdk --ccache
    
    2.源码根目录执行生成的hdc工具直接copy到本地路径(可将hdc_std.exe改为hdc.exe方便点),加入环境变量
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    • 冷知识:
      win中到对应目录下的路径框输入cmd,cmd会直接进入当前路径

    2.2 烧写部分文件

    部分文件指修改后重新编译的那部分:

    1.进入cmd:win+r
    
    2.给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.设备重启
    
    注:有时编译通过,但是刷机会卡在开机界面,这个时候需用编译失败三板斧重新编译
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.3 全部重新烧写

    1.更新镜像config文件
    
    2.更改镜像其他配置文件,把路径换了
    
    • 1
    • 2
    • 3

    3、打印日志

    1.源文件添加日志,可用HILOG_ERROR()等    --    格式符%{public}s 其中public可见,s表示string
    
    2.源文件修改完编译好,推这个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++打开进行查看
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    4、shell中一些常用命令

    4.1 git

    什么是git? 文件版本管理工具
    什么是repo? git们的管家,执行repo就是执行了N个不同的git命令
    
    git status            查看上次的状态(status)【必须进入到对应的小目录下】
    
    本地同步时保留修改:
    git stash                将本地的修改存放(stash)到栈 【进入到对应的小目录】
    repo sync -c -j16        同步代码到本地
    git stash pop            将栈的保存替换到本地,并清空栈
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4.2 其他搜索命令

    find -name *.hap | grep -E setting  搜索所有hap包中带setting的文件
    
    history | grep -E ./build.sh        查看历史命令中带./build.sh的命令
    
    • 1
    • 2
    • 3

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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     进入shell
    
    bm dump -a      显示所有文件
    
    bm uninstall -n com.example.amsstageapplication  卸载对应文件“com.example.amsstageapplication”
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 安装文件:
    hdc file send .\sign-normal.hap /data/  把对应的hap包发送到板子/data/中
    
    hdc shell     进入shell
    
    cd /data  进入hap目录
    
    bm install -p sign-normal.hap 在hap包所在的目录中安装
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    • 通过签名工具安装文件(推荐):

      1、install–basic.bat使用用notepad++打开后,-inputFile后面改成生成的hap包地址(本地绝对地址)

      2、配置好脚本后执行,给编译好的hap包签名并推包进入板子

      3、然后点击install–basic.bat执行
      其中.hap包就是编译成功的包。注意在build-default-outputs-default目录下

  • 相关阅读:
    【微机接口】串行通信基础
    使用微PE工具箱制作winU盘启动盘~重装系统
    【双目视觉】 SGBM算法应用(Python版)
    图神经网络(二):知识点整理
    Django的设计模式及模板层
    un7.29:Linux——centos中如何安装与配置redis?
    内存函数 memcpy,memmove ,memcmp
    【无标题】
    【React Scheduler源码第三篇】React Scheduler原理及手写源码
    MR案例 - TopNScore [成绩分组排行榜]
  • 原文地址:https://blog.csdn.net/weixin_44506866/article/details/125483646