file
file send
功能:发送本地文件到开发者手机
hdc file send local_path remote_path
:: 发送文件到开发者手机
hdc file send "Enlin`s OHOS Device\hdc文档.txt" /storage/media/100/local/files/Photo/
:: 替换Launcher.hap 和 Launcher_Settings.hap
hdc file send "Enlin`s OHOS Device\phone_launcher-default-signed.hap" /system/app/com.ohos.launcher/Launcher.hap
hdc file send "Enlin`s OHOS Device\launcher_settings-phone_launcher-default-signed.hap" /system/app/com.ohos.launcher/Launcher_Settings.hap
file recv
功能:从开发者手机拉取文件到本地
hdc file recv remote_path local_path
:: 拉取截图文件夹到本地
hdc file recv /storage/media/100/local/files/Photo ./"Enlin`s OHOS Device"/
:: 备份Launcher.hap 和 Launcher_Settings.hap
hdc file recv /system/app/com.ohos.launcher/Launcher.hap ./"Enlin`s OHOS Device"/Launcher.hap
hdc file recv /system/app/com.ohos.launcher/Launcher_Settings.hap ./"Enlin`s OHOS Device"/Launcher_Settings.hap
find
功能:寻找文件(和Linux功能一样)
使用find的时在命令后加 2>/dev/null 将错误结果输出重定向到黑洞文件
find / -name *.png 2>/dev/null
mount
以读写模式挂载所有分区
hdc shell "mount -o remount,rw /"以只读模式挂在所有分区
hdc shell "mount -o remount,ro /"
第一次替换Launcher
参考文献
[1] https://laval.csdn.net/656adadeb2e09e652cbf377a.html#devmenu9
[2] https://laval.csdn.net/65c34d8e2c13685765df064a.html
[3] https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md
备注
SDK使用说明及下载地址
Launcher应用的编译需使用相对应版本的ohos-sdk-full\mac-sdk-full来进行开发调试
IDE上是Public SDK,故full sdk需要重新下载,下载地址:
新版本界面:http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist
老版本界面:http://ci.openharmony.cn/dailys/dailybuilds
预置应用替换
预置应用都在设备的/system/app/目录内,每个目录就是应用的包名,再进去就是每个应用的hap,可以直接替换此hap,然后执行以下系统应用替换操作
hvigor与IDE的关系
hvigor作为OpenHarmony应用开发的编译构建工具,与IDE是深度绑定关系,每个版本的IDE都需要用到指定版本的hvigor。具体的对应版本如下:
| IDE版本(build) | hvigor版本 | ohpm |
|---|---|---|
| HarmonyOS NEXT Developer Beta2(5.0.3.502) | 5.3.3 | 5.0.4 |
| HarmonyOS NEXT Developer Beta1(5.0.3.403) | 5.2.2 | 5.0.2 |
| 4.0Release(4.0.0.600) | 3.0.9 | |
| 4.0Beta2(4.0.0.400) | 3.0.2 | |
| 3.1.1Release(3.1.0.501) | 2.4.2 | |
| 3.1.Release(3.1.0.500) | 2.1.1 |
系统应用源码在哪
目前OpenHarmony系统应用分为3种模式:
- 标准ArkTS工程,通过IDE和SDK编译,并将构建好的hap预置到rom里。参考
applications_开头的仓,如applications_launcher。这类系统应用的源码会同步下载在OpenHarmony工程路径applications/standard下,hap预置在applications/standard/hap下。 - 非标准ArkTS工程,通过GN随系统一起编译。参考power_dialog。这类系统应用的源码预置在各个子系统下,当子系统全量编译时会随之一起编译。
注意:该类系统应用是可以将源码通过IDE和SDK编译的,但是需要将工程适配为标准ArkTS工程。
- C++工程,系统调用C++接口进行界面开发。参考SmartPerf。这类系统应用在系统层进行UI开发,在服务层调用各个子系统的接口。无法通过IDE和SDK编译。
OTA
OTA时,如果改动过/system下的内置应用,则OTA会失败(鹏举:/data没影响,升级不升这个目录 改/目录 或者 /vendor的有影响)
--------------------------- OTA升级注意事项
星辰星:
问个问题,如果改之前做过备份,把备份还原回去,能做到升级不
谭鹏举:
/data没影响,升级不升这个目录 改/目录 或者 /vendor的有影响
谭鹏举:
应该不行 改了之后也有记录的,分区checksum还是变了
星辰星:
恢复出厂设置也没法升级是吧
谭鹏举:
是的 恢复出厂主要是恢复数据/data分区,系统镜像不会变
星辰星:
后续升级,是不是都需要基于起始出厂版本309升级?
星辰星:
只要改过都需要先恢复到309然后才能升级么
谭鹏举:
嗯 改过系统镜像的 才会这样
北方:
OTA基于上一个版本
欢:
不是吧,差分都是当前和next的。
谭鹏举:
是的 因为目前对外发布的历史版本只有309
星辰星:
这个版本升级后,再修改系统内置应用,如果有新ota,还需要恢复到309不,
WinsLei:
建议用替换的方式
WinsLei:
不要用预置的方式
北方:
需要升级到309,在升级到315
谭鹏举:
取决于下次升级是否配套发新的pac包
------------------------------- 手机死机重启
镜:
艹,手机直接死机了
镜:
开机键按了没反应
镜:
插电源也没反应
赏花赏月赏秋香呀:
power+声音减,不放
------------------------------- 替换系统应用Launcher
不在他方:
开发者手机的开源的仓库里拉下来的源码,signature文件夹里都已经带了签名文件了是吗
WinsLei:
是的
不在他方:
好的 爱了❤
星辰星:
我试过了,代码来下来直接构建就行
不在他方:
好的 刚替换好full-SDK
不在他方:
大佬 Launcher_Settings.hap 这个包是怎么打包出来的
星辰星:
launcher 的feature目录下有个settings
星辰星:
要build app方式,替换上去才有效果,已经踩过坑了
不在他方:
搜嘎
星辰星:
还好前2天有大佬支招
不在他方:
用这个Build APP(s),然后把两个hap改名替换进去就行了是吗
星辰星:
是的
不在他方:
我逝一下 我还真是头一次这样搞机
不在他方:
🤤
星辰星:
源码里shell脚本
星辰星:
大佬他们已经准备好了
--------------------------------
谭鹏举:
总结目前看到的几个影响使用的问题和恢复措施,大家遇到后可以试下。
1、待机后概率出现黑屏唤不醒。
恢复措施:
1)电源键+音量减,双键长按7s以上强制重启。
或者2)三键长按7s以上,机器会进入烧录模式,再等待16秒烧录超时自动开机。
2、充电到某个值充不上去。恢复措施: 重启手机。
tconn
无线调试(IDE所在设备网必须和待调试终端再同一个网段下)
hdc tconn <IP>:<PORT>
hap重签名
如何对已加固hap和.app包进行签名-华为开发者问答 | 华为开发者联盟 (huawei.com)
搭建流水线-Command Line Tools - 华为HarmonyOS开发者 (huawei.com)
hap-sign-tool签名报错-华为开发者问答 | 华为开发者联盟 (huawei.com)
如何用hvigor构建一个裸的不带签名信息的hap包,然后再用hap_sign_tool工具进行签名-华为开发者问答 | 华为开发者联盟 (huawei.com)
