0
点赞
收藏
分享

微信扫一扫

#过年不停更# Openharmony使用交叉编译的三方二进制丰富系统命令

【春节不停更,此文正在参加「星光计划-春节更帖活动」】

@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

image.png

三、重新烧写系统后

进入系统终端,执行:vi --help
image.png

vi命令已经有了,可以使用了。
使用别人编译好的闭源动态库参考:【如何使用的闭源库】

想了解更多关于鸿蒙的内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#bkwz

::: hljs-center

21_9.jpg

:::

举报

相关推荐

0 条评论