0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何添加一个自己的软件包

电子发烧友开源社区 来源:HarmonyOS官方合作社区 作者:HarmonyOS官方合作社 2022-03-03 09:22 次阅读

摘要

本文简单介绍Hi3861WiFi操作,怎么连接到热点,查看IP,ping服务器等。

适合群体

适用于润和Hi3861开发板的开发人员。

1、添加第一个a_myparty软件包

打开鸿蒙系统的源码,可以看到有这么一个文件夹:third_party。里面存放的是第三方的代码。

如何添加一个自己的软件包

点开我们可以看到有很多第三方代码:

ee4b57b2-9529-11ec-952b-dac502259ad0.png

后续我们如果需要往系统中添加、移植任何开源代码,都可以添加到这个文件夹中。接下来,教大家如何添加一个自己的软件包,名字为a_myparty。

1. 新建一个文件夹a_myparty

2. 往文件中放置软件包源码

这里我放在的是 myparty.c和myparty.h文件

3. 新建BUILD.gn文件

整个代码目录如下:

如何添加一个自己的软件包

4. myparty.c文件内容如下:

其实,我这个只是为了演示的,所以里面代码没什么作用

#include 
void myparty_test(void){  printf("first myparty 
");}

向右滑动查看完整代码

5. BUILD.gn文件内容如下:

BUILD.gn文件主要是描述了软件包的相关信息,包括编译哪些源文件,头文件路径、编译方式(目前Hi3861 只支持静态加载)

import("//build/lite/config/component/lite_component.gni")import("//build/lite/ndk/ndk.gni")
#这里是配置头文件路径config("a_myparty_config") {  include_dirs = [    ".",  ]}
#这里是配置要编译哪些源码a_myparty_sources = [  "myparty.c",]
#这里是静态链接,类似于Linux系统的 .a文件lite_library("a_myparty_static") {  target_type = "static_library"  sources = a_myparty_sources  public_configs = [ ":a_myparty_config" ]
}
#这里是动态加载,类似于Linux系统的 .so文件lite_library("a_myparty_shared") {  target_type = "shared_library"  sources = a_myparty_sources  public_configs = [ ":a_myparty_config" ]
}
#这里是入口,选择是静态还是动态ndk_lib("a_myparty_ndk") {
  if (kernel_type != "liteos_m") {    lib_extension = ".so"    deps = [      ":a_myparty_shared"    ]  } else {    deps = [      ":a_myparty_static"    ]  }  head_files = [    "//third_party/a_myparty"  ]
}

向右滑动查看完整代码

到了这里我们基本上就写完了,最后我们要让这个第3放软件包编译到我们固件中。

2、如何使用a_myparty软件包

我们在app里面新建一个 myparty_demo的文件夹,目录如下:

如何添加一个自己的软件包

其中BUILD.gn内容如下:

static_library("myparty_demo") {  sources = [    "myparty_demo.c"  ]#注意需要把a_myparty的头文件路径加进来  include_dirs = [    "//utils/native/lite/include",    "//third_party/a_myparty",  ]
#表示需要a_myparty 软件包  deps = [    "//third_party/a_myparty:a_myparty_static",  ]}

向右滑动查看完整代码

myparty_demo.c里面内容如下:

#include #include "ohos_init.h"#include "ohos_types.h"
#include "myparty.h"
void myparty_demo(void){  myparty_test();  printf("___________>>>>>>>>>>>>>>>>>>>> [DEMO] Hello world.
");}SYS_RUN(myparty_demo);

向右滑动查看完整代码

编译烧录后可以看到myparty_test的打印信息:

如何添加一个自己的软件包

本小节文章就到这里了,后续文章会持续更新,欢迎大家持续关注哦~

原文标题:OpenHarmony轻量系统开发【10】编写自己的软件包

文章出处:【微信公众号:HarmonyOS官方合作社区】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4435

    浏览量

    94035
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66800
  • 软件包
    +关注

    关注

    0

    文章

    90

    浏览量

    11320

原文标题:OpenHarmony轻量系统开发【10】编写自己的软件包

文章出处:【微信号:HarmonyOS_Community,微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread Studio添加软件包报错怎么解决?

    RT-Thread Studio添加软件包报错ImportError: No module named psutil
    发表于 03-01 08:41

    基于CubeMX的RT-thread Nano可以添加microros这样的软件包吗?

    最近使用rt-thread配置ROS2,但是是用CubeMX联合Clion做的,CubeMX使用的是RT-thread nano, 请问这个环境可以添加像microros这样的
    发表于 03-01 06:00

    如何往鸿蒙系统源码中添加第三方软件包

    看到有很多第三方代码: 后续我们如果需要往系统中添加、移植任何开源代码,都可以添加到这个文件夹中。接下来,教大家如何添加
    发表于 10-22 22:04

    RTTHREAD软件包目录推荐

    RTTHREAD软件包目录这边统计下RTTHREAD软件包的各项内容IOT名技术标签依赖平台备注abup_fotaOTATCP/UDP本软件包是用于 Abup FOTA 升级的固件下
    发表于 07-02 06:57

    软件包怎么使用

    RT-thread有很多实用的软件包,包含网络、IOT、外设、系统等多个方面,对于项目的快速开发或者评估来说是非常方便的。但不是所有软件包都是友好的,因为有些软件包是第三方贡献的,软件
    发表于 01-21 07:53

    OpenHarmony轻量系统开发【10】编写自己软件包

    看到有很多第三方代码:后续我们如果需要往系统中添加、移植任何开源代码,都可以添加到这个文件夹中。接下来,教大家如何添加
    发表于 01-25 16:44

    RTThread settings添加软件包界面不显示求解

    目前使用出现了两问题1、客户端莫名其妙的卡死,无响应,必须任务管理器强制停止才行。2、rtthread settings 添加软件包界面不显示,必须按shift+s才会出现,去掉某些软件包
    发表于 08-25 14:50

    如何在自己软件包添加CI集成工具

    下大家,如何在自己软件包添加CI集成工具,由于每个软件包的配置都不相同,要根据下面的步骤,灵活的配置你
    发表于 09-21 15:55

    分享好玩的软件包vt100

    样。在看小火车和软件包代码的时候真的是望而生畏,不得不感叹丰田和wuhan大神的代码真的漂亮。自己还差得远。有兴趣有时间的伙伴。可以看看。原作者:李子成
    发表于 10-09 15:32

    RT-Thread里的CherryUSB软件包分享

    现在RT-Thread 软件包里面已经添加了 CherryUSB 软件包,可能大家没用过,我自己来宣传下CherryUSB 是
    发表于 10-13 10:49

    想请教下RTThread中添加软件包有什么需要注意的地方吗?

    Studio中添加软件包,总是下载不成功,package下面没有任何,工程文件的package组下面也没有任何文件。想请教下,RTT
    发表于 11-04 10:35

    RT-THREAD studio 2.0.0不能添加软件包能帮忙看看是什么问题吗

    1.电脑联想小新15,intel平台2.windows10专业版64位系统3.问题描述:RT-THREAD studio 2.0.0不能添加软件包4.用两台联想笔记本电脑对比过,台能够正常
    发表于 11-30 10:15

    在rt-thread studio里添加软件包失败怎么解决?

    在rt-thread studio里使用软件包功能,添加软件包之后,点击保存,在项目栏测没有软件包添加
    发表于 02-13 14:14

    rtthread studio添加max31865软件包后报错如何解决?

    添加软件包后出现这样的报错 注释以后下载 串口打印又有错误了 用不了这个软件包 不知道怎么解决 spi设备是开启成功的
    发表于 09-03 09:44

    详细教程:在鸿蒙系统源码中添加第三方软件包

    文件夹中。 接下来,教大家如何添加一个自己软件包,名字为 a_myparty。 01 新建一个文件夹 a_myparty 02 往文件中放置软件包源码 这里我放在的是 myparty
    的头像 发表于 10-24 11:12 6505次阅读
    详细教程:在鸿蒙系统源码中<b class='flag-5'>添加</b>第三方<b class='flag-5'>软件包</b>