HarmonyOS-静态库(SDK)的创建和使用

这篇具有很好参考价值的文章主要介绍了HarmonyOS-静态库(SDK)的创建和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、静态库(SDK)

在HarmonyOS中,静态库(通常以.har为文件扩展名)是一种用于代码和资源共享的机制。它允许开发者创建可重用的组件、接口和资源,以便在多个应用中共享和复用。

二、创建静态库

1.新建静态库模块

  1. 打开DevEco Studio: 启动HarmonyOS开发环境。
  2. 创建项目: 如果还没有项目,创建一个新的HarmonyOS项目。
  3. 添加模块: 在项目视图中,右键点击项目名称,选择New > Module…。
    HarmonyOS-静态库(SDK)的创建和使用,HarmonyOS,harmonyos,华为
  4. 选择模块类型: 在弹出的对话框中,选择Static Library。
  5. 命名模块: 输入模块名称,例如BaseLibrary,然后点击Finish。HarmonyOS-静态库(SDK)的创建和使用,HarmonyOS,harmonyos,华为

2. 开发静态库内容

  1. 编写组件
    在新创建的静态库模块中,开发你的ArkUI组件、接口或资源,如下示例:
    定义Base的页面:
@Component
export struct BasePage {
  @State message: string = '';
 
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

定义基础的类:

@Component
export class BaseConfig {
  IMAGE_BACK_SIZE: number = 21;
  IMAGE_BACK_MARGIN_RIGHT: number = 18;
  IMAGE_LOADING_SIZE: number = 22;
  BAR_HEIGHT: number = 47;
  BAR_MARGIN_HORIZONTAL: number = 26;
  BAR_MARGIN_TOP: number = 10;
  WEIGHT: string = '50%';
}

2.导出内容
在ets文件夹下的index.ets文件中,使用export关键字导出你想要共享的组件或接口。如下示例,导出一个页面和一个名为 BaseConfig 的类。

export { MainPage } from './src/main/ets/components/mainpage/MainPage'
export { DKBaseBleAlg } from './src/main/ets/components/DKBaseBleAlg'

3. 编译静态库

  1. 构建模块
    在项目视图中,选择静态库模块,然后点击Build > Make Module ‘BaseLibrary’
    HarmonyOS-静态库(SDK)的创建和使用,HarmonyOS,harmonyos,华为

2.获取.har文件
编译成功后,在模块的build/default/outputs/default目录下找到baselibrary.har文件。
HarmonyOS-静态库(SDK)的创建和使用,HarmonyOS,harmonyos,华为

三、使用静态库

1. 配置项目依赖

  1. 编辑 oh-package.json5: 在主工程的根目录下,打开oh-package.json5文件。
  2. 添加依赖: 在dependencies部分,添加静态库的依赖项,例如:
{
  "license": "",
  "devDependencies": {},
  "author": "",
  "name": "entry",
  "description": "Please describe the basic information.",
  "main": "",
  "version": "1.0.0",
  "dependencies": {
    // 直接使用module,直接引用module的路径
    "Baselibrary": "file:../Baselibrary"
    // 将wmdinglibrary.har放到固定目录下时引用
    // "Baselibrary": "file:../entry/src/main/lib/Baselibrary.har"
 
  }
}
  1. 同步项目 : 点击Sync Now按钮,同步项目以包含新添加的静态库。

2. 在应用中使用静态库

  1. 导入组件或接口: 在你的应用代码中,使用import语句导入静态库中的组件或接口。
  2. 使用组件: 在你的应用页面或逻辑中,直接使用静态库类。
import { Baselibrary, MainPage } from 'Baselibrary'
 
@Entry
@Component
struct UseLibraryPage {
  @State message: string = 'Hello World';
 
  build() {
    Row() {
      Column() {
 
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

3. 注意事项

  1. 路径正确性: 确保在oh-package.json5中指定的静态库路径正确无误。
  2. 同步操作: 添加或更新依赖后,务必执行同步操作,否则项目可能无法正确识别静态库。
  3. 资源冲突: 如果静态库中包含资源文件,确保资源名称不会与主工程中的资源冲突。
  4. 编译顺序: 在构建项目时,确保静态库先于使用它的模块编译,以避免依赖问题。
  5. 权限和配置: 根据静态库的功能,可能需要在应用的配置文件中添加相应的权限或配置。

四、打包错误

1. library引用本地har包错误

HarmonyOS-静态库(SDK)的创建和使用,HarmonyOS,harmonyos,华为

解决措施
HarmonyOS library引用本地的har包的引用方式需要进行改造,具体步骤为:文章来源地址https://www.toymoban.com/news/detail-855357.html

  1. 在工程根目录下创建一个libs文件夹,并将需要引用的本地har包放到该文件夹下。
    HarmonyOS-静态库(SDK)的创建和使用,HarmonyOS,harmonyos,华为
    不支持har引本地har的格式,需要引用的har发布到npm仓上然后引用!

到了这里,关于HarmonyOS-静态库(SDK)的创建和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HarmonyOS应用开发学习笔记 UI布局学习 List(){}创建列表 列表形式显示 简单使用

    List 创建列表 列表形式显示 官方文档:创建列表(List) 关键代码 List(){} 列表控件 ListItem() {} 子元素 例如 关键代码:listDirection(Axis.Horizontal) 默认竖直方向 Axis.Vertical 分隔线的宽度会使ListItem之间存在一定间隔,当List设置的内容间距小于分隔线宽度时,ListItem之间的间隔会使用

    2024年02月02日
    浏览(46)
  • HarmonyOS SDK开放能力,服务鸿蒙生态建设,打造优质应用体验

    华为开发者大会2023(HDC.Together)于8月4日至6日在东莞松山湖举行,在HarmonyOS端云开放能力技术分论坛上,华为为广大开发者们介绍了HarmonyOS SDK开放能力在基础开发架构、功能特性等方面的变化之处,通过将常见的通用能力全局化,关键技术底层化,为开发者提供更加低成本

    2024年02月13日
    浏览(54)
  • HarmonyOS实现静态与动态数据可视化图表

    本篇Codelab基于switch组件和chart组件,实现线形图、占比图、柱状图,并通过switch切换chart组件数据的动静态显示。要求实现以下功能: 实现静态数据可视化图表。 打开开关,实现静态图切换为动态可视化图表 switch组件 :开关选择器,通过开关,开启或关闭某个功能。 chart组

    2024年02月09日
    浏览(67)
  • HarmonyOS SDK,助力开发者打造焕然一新的鸿蒙原生应用

    鸿蒙生态 千帆启航仪式于 1 月1 8 日正式启动。 从2019年 HarmonyOS 正式发布到2 020 年“没有人能够熄灭漫天星光”,今天,满天星光终汇成璀璨星河, HarmonyOS NEXT鸿蒙 星河版 重磅发布,带来了全新架构、全新体验、全新生态。 作为支撑鸿蒙原生应用开发的技术源动力,Harmon

    2024年01月20日
    浏览(88)
  • HarmonyOS应用开发学习笔记 UI布局学习 创建轮播(Swiper) artTS 轮播组件 简单使用

    官方文档 Swiper组件提供滑动轮播显示的能力。Swiper本身是一个容器组件,当设置了多个子组件后,可以对这些子组件进行轮播显示。通常,在一些应用首页显示推荐的内容时,需要用到轮播显示的能力。 loop 控制是否循环 this.swiperController.showNext(); // 通过controller切换到后一页

    2024年02月02日
    浏览(70)
  • 华为 HarmonyOS 页面跳转

    我们新建2个页面(page),一个Hello World页面,一个Hello HarmonyOS页面,注意修改红色框内容,保持一致 导入导入router模块,页面跳转接口,添加按钮点击事件

    2024年01月24日
    浏览(46)
  • MediaBox音视频终端SDK已适配鸿蒙星河版(HarmonyOS NEXT)

    2024年1月,HarmonyOS NEXT 鸿蒙星河版系统开发者预览版开放申请,该系统将只能安装为鸿蒙开发的原生应用,而不再兼容安卓应用。对此,阿里云MediaBox音视频终端SDK产品已实现功能的鸿蒙化迁移和重构,全面适配鸿蒙系统HarmonyOS NEXT系统。 当前, 阿里云播放器SDK预览版已面

    2024年03月22日
    浏览(56)
  • HarmonyOS SDK,赋能开发者实现更具象、个性化开发诉求

    随着移动互联网的逐步成熟,用户的需求越来越细化。鸿蒙生态为开发者提供的HarmonyOS SDK开放能力,高效赋能美团外卖等合作伙伴实现更具象、个性化的开发诉求,给用户提供更丰富便捷的体验。 点击链接查看 HarmonyOS SDK 开放能力美团外卖案例视频

    2024年02月08日
    浏览(38)
  • 【华为鸿蒙】HarmonyOS概述:技术特性

    来源:HarmnyOS 官网 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos-features-0000000000011907 多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。 分布式软总线是手机、平板、智能穿戴

    2024年01月21日
    浏览(48)
  • 华为新发布的鸿蒙与目前华为手机的鸿蒙系统有什么差异,OpenHarmony、HarmonyOS、HarmonyOS NEXT的区别详解

    最近工作中需要进行鸿蒙适配,一开始我有个疑问,今年新发布的鸿蒙系统,与目前华为手机使用的鸿蒙系统有什么差异?为什么要专门进行适配?如果大家也有类似的疑问,看完这篇就明白了。 今年华为在鸿蒙生态千帆启航仪式上正式发布了鸿蒙原生操作系统——HarmonyO

    2024年04月17日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包