当前位置: 首页 > article >正文

鸿蒙HarmonyOS开发:创建新的Lite工程

当开始开发一个应用/服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。

说明

在运行DevEco Studio工程时,建议每一个运行窗口有2GB以上的可用内存空间。

创建和配置新工程

DevEco Studio提供了基础的工程模板资源,不同模板支持的设备类型、API Version可能不同,在创建新工程前,请提前了解各模板的相关信息,具体请参考工程模板介绍。

创建HarmonyOS工程

  1. 通过如下两种方式,打开工程创建向导界面。
    • 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。
    • 如果已经打开了工程,可以在菜单栏选择File > New > Create Project来创建一个新工程。
  2. 根据工程创建向导,选择创建Application或Atomic Service。再选择需要的Ability工程模板,然后单击Next

    说明

    • 从API 11版本开始支持Atomic Service元服务工程开发。
    • Atomic Service元服务工程暂不支持Native开发。

  3. 在工程配置页面,需要根据向导配置工程的基本信息。

    • Project name:工程的名称,可以自定义,由大小写字母、数字和下划线组成。
    • Bundle name:标识应用的包名,用于标识应用的唯一性。


      说明

      应用包名要求:

      • 必须为以点号(.)分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字、下划线(_),如“com.example.myapplication ”。
      • 首段以英文字母开头,非首段以数字或英文字母开头,每一段以数字或者英文字母结尾,如“com.01example.myapplication”。
      • 不允许多个点号(.)连续出现,如“com.example..myapplication ”。
      • 长度为7~128个字符。
    • Save location:工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。
    • Compatible SDK:兼容的最低API Version。
    • Module name: 模块的名称。
    • Device type:该工程模板支持的设备类型。

  4. 单击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。

创建OpenHarmony工程

  1. 在完成创建HarmonyOS工程后,根据如下操作修改工程级build-profile.json5文件中相关字段:
    1. 在工程级build-profile.json5文件添加compileSdkVersion字段。
    2. compatibleSdkVersioncompileSdkVersion字段赋值为整数类型101112
    3. 将runtimeOS从"HarmonyOS"修改为"OpenHarmony"
    "products": [
      {
        "name": "default",
        "signingConfig": "default", 
        "compileSdkVersion": 11,    //指定OpenHarmony应用/服务编译时的版本
        "compatibleSdkVersion": 11, //指定OpenHarmony应用/服务兼容的最低版本
        "runtimeOS": "OpenHarmony",
      }
    ],

  2. 单击Sync Now进行同步。在Sync Check弹窗中点击Yes,同意将module.json5/config.json文件中的phone切换为OpenHarmony支持的default类型,并删除在OpenHarmony不适用的其他设备类型,同步成功无其他报错则工程创建完成。

说明

若选择Native C++模板创建OpenHarmony应用,且应用需要在RK开发板上运行,则需在对应Native模块的build-profile.json5文件buildOption/externalNativeOptions字段下,新增abiFilters字段并赋值为"armeabi-v7a"。

创建Lite工程

DecEvo Studio提供[Lite]Empty Ability工程模板,支持小型嵌入式设备开发。

  1. 通过如下两种方式,打开工程创建向导界面。
    • 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。
    • 如果已经打开了工程,可以在菜单栏选择File > New > Create Project来创建一个新工程。
  2. 根据工程创建向导,选择创建Application。选择[Lite]Empty Ability工程模板,然后单击Next

  3. 在工程配置页面,需要根据向导配置工程的基本信息。
    • Project name:工程的名称,可以自定义,由大小写字母、数字和下划线组成。
    • Bundle name:标识应用的包名,用于标识应用的唯一性。
    • Save location:工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。
    • Compatible SDK:兼容的最低API Version。
    • Module name: 模块的名称。
    • Device type:该工程模板支持的设备类型

  4. 单击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。
  5. 工程创建完成后,将config.json文件中deviceType字段,修改为smartVision。

  6. 在API 10的工程级build-profile.json5文件中,将当前product下的runtimeOS配置从HarmonyOS改为OpenHarmony。当前生效的product可以通过点击编辑区域右上方图标进行查看。
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
        "compatibleSdkVersion": "4.0.0(10)",
        "runtimeOS": "OpenHarmony",
      }
    ],
  7. API 10 OpenHarmony工程的API Version必须为整型。新增compileSdkVersion字段,并将compileSdkVersion、compatibleSdkVersion从赋值为整数类型10。
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
        "compileSdkVersion": 10,
        "compatibleSdkVersion": 10,
        "runtimeOS": "OpenHarmony",
      }
    ],
  8. 点击Sync Now完成同步。

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

希望这一份鸿蒙学习资料能够给大家带来帮助~


 鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.视频学习资料+学习PDF文档

(鸿蒙语法ArkTS、TypeScript、ArkUI教程……)

 纯血版鸿蒙全套学习资料(面试、文档、全套视频等)

                   

鸿蒙APP开发必备

​​

总结

参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:为了确保高效学习,建议规划清晰的学习路线


http://www.kler.cn/a/283905.html

相关文章:

  • Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南
  • 2024 年 Apifox 和 Postman 对比介绍详细版
  • Ceph 中Crush 算法的理解
  • 搭建深度学习开发环境
  • Android Studio 将项目打包成apk文件
  • MyBatis CRUD快速入门
  • cesium加载在线3dtiles
  • 腾讯地图SDK Android版开发 9 覆盖物示例3点聚合
  • Flink1.14.* 各种算子在StreamTask控制下如何调用的源码
  • FPGA实现SDI视频H265压缩网络推流输出,基于VCU架构,支持12G-SDI 4K60帧,提供工程源码和技术支持
  • 批量进行Mysql数据处理的一项工作记录以及保存一个nginx变量大全
  • Linux下网络缓冲区——chainbuffer的具体设计
  • 白银现货的两大指标,如何使用?
  • ES常用操作
  • C++标准 alignas 与 windows 封装指令 (pack pragma) 的区别
  • 物联网架构之HBase
  • AI加持的开发平台,如何满足您的独一无二?
  • 智能合约开发与测试1
  • [LLM][Prompt Engineering]:大语言模型提示工程(Prompt Engineering)
  • Navicat Lite导入为SQL,然后到服务器的SQLServer Management 里执行时,报各种错误,是文件的Encoding不一致导致的解决
  • 科讯档案管理系统存在SQL注入漏洞(0day)
  • 聚类算法k-means(手撕和调用skl)
  • Python编码系列—Python项目架构的艺术:最佳实践与实战应用
  • 【数据结构】关于哈希表内部原理,你到底了解多少???(超详解)
  • 自动化01:认识接线端子
  • vue脚手架的创建