#过年不停更# OpenHarmony使用交叉编译的三方二进制丰富系统命令 原创 精华
碼磚民工
发布于 2022-2-16 08:39
浏览
7收藏
@toc
一、简介
L2(3.0) 设备开发调试时,想修改文档内容。往往需要windows上修改好,然后再通过hdc_std.exe发送到开发板中去,类似的命令缺失很多。最主要是L2不完善,基本命令不丰富。
该文档以添加vi命令为例,利用别人交叉编译好的busybox来给系统添加vi命令。
二、编译
编译,实际上是创建vi到busybox的链接,交叉编译好的busybox见附件。
2.1 编译配置:test\example\partB\busybox\BUILD.gn
import("//build/ohos.gni")
ohos_prebuilt_executable("busybox.exe") {
source = "./busybox"
symlink_target_name = [
"vi"
]
install_enable = true
subsystem_name = "sub_example"
part_name = "partB"
}
group("busybox") {
deps = [
":busybox.exe"
]
}
2.2 编译配置: test\example\ohos.build
{
"subsystem": "sub_example",
"parts": {
"partB": {
"module_list": [
"//test/example/partB/module:module_lib",
"//test/example/partB/busybox:busybox"
],
"inner_kits": [
{
"type": "so",
"name": "//test/example/partB/module:module_lib",
"header": {
"header_files": [
"module.h"
],
"header_base": "//test/example/partB/module/include"
}
}
],
"system_kits": [],
"test_list": []
},
"partA": {
"module_list": [
"//test/example/partA/feature1:libhelloworl1_lib",
"//test/example/partA/feature2:helloworld2_bin"
],
"inner_kits": [],
"system_kits": [],
"test_list": []
}
}
}
这里的编译配置是在【OpenHarmony 设备开发之helloworld】基础上添加的。也可以在其他子系统中添加。
2.3 全量编译
./build.sh --product-name Hi3516DV300 --ccache
三、重新烧写系统后
进入系统终端,执行:vi --help
vi命令已经有了,可以使用了。
使用别人编译好的闭源动态库参考:【如何使用的闭源库】
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
busybox.rar 589.9K 34次下载
已于2022-11-18 11:06:37修改
赞
9
收藏 7
回复
相关推荐
666
大佬,等待更新
大佬, busybox 的交叉编译是不是要鸿蒙环境里面编译成鸿蒙专用的可执行文件?
我感觉是相同的内核,可能是一类构架的芯片的能识别的可执行程序格式差不多,如果没有依赖库偏差,可能就能运行。用鸿蒙环境编译,不会存在格式问题,也不存在依赖库找不到的问题(不同标准库的加载器不同)。