鸿蒙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.mzph.cn/news/877964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图文并茂】ant design pro 如何对接后端个人信息接口

上一节我们有讲到如何对接登录接口的 【图文并茂】ant design pro 如何对接登录接口 仅仅能登录是最基本的,但是我们要进入后台还是需要另一个接口。 这个接口有两个作用: 来获取当前登录账号的信息,比如头像,用户名&#xff0…

Springsecurity中的Eureka报错:Cannot execute request on any known server

完整报错信息: com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 报错体现: 访问eureka控制面板: 访问测试地址: 控制台报错: 可能的报错原因&#xff…

【YOLOv8改进[Conv]】 感受野注意力卷积RFAConv(2024.3)| 使用RFAConv改进C2f + 含全部代码和详细修改方式

本文将进行在YOLOv8中使用 感受野注意力卷积RFAConv改进C2f 的实践,助力YOLOv8目标检测效果,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后

WEB渗透免杀篇-Golang免杀

全套完整笔记 渗透测试60w字全套md笔记:夸克网盘分享 往期文章 WEB渗透免杀篇-免杀工具全集-CSDN博客 WEB渗透免杀篇-加载器免杀-CSDN博客 WEB渗透免杀篇-分块免杀-CSDN博客 WEB渗透免杀篇-Powershell免杀-CSDN博客 WEB渗透免杀篇-Python源码免杀-CSDN博客 …

快手小店自动回复机器人脚本

快手小店自动回复机器人是一种利用人工智能AI技术,能够根据用户的会话咨询内容自动回复的工具。这种机器人可以帮助快手小店主快速、高效地回复客户消息,提升店铺的客户服务质量和销售效率。 甜羊浏览器是一款基于Chromium内核开发的国产浏览器&#xff…

解决html中文乱码问题

在head上面添加 <% page contentType"text/html;charsetUTF-8" language"java" %>

大模型之二十六-Diffusion model实例浅析

在2022年&#xff0c;midjourney、DALL-E以及Stable Diffusion三个文生图模型引爆了机器生产文生图领域&#xff0c;他们的模型能够在可控条件&#xff08;标签、文本描述&#xff09;下生成高分辨率、细节丰富的多样性图像&#xff0c;这在视觉上往往难以与真实图像区分。本文…

SAP Document Splitting

SAP系统中的文档分割&#xff08;Document Splitting&#xff09;是一个用于在财务会计模块中进行更细粒度的财务报表分析的技术。它允许按照不同的标准&#xff08;如成本中心、利润中心、公司代码等&#xff09;对会计凭证进行详细记录和报表展示。文档分割的主要目标是提高财…

前沿重器[55] | prompt综述的解释和个人思考

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享&#xff0c;从中抽取关键精华的部分和大家分享&#xff0c;和大家一起把握前沿技术。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。&#xff08;算起来&#xff0c;专项启动已经…

幅频特性曲线分析及使用WPF绘制

文章目录 1、一阶惯性环节的幅频特性曲线分析及绘制2、二阶系统的幅频特性曲线分析及绘制3、一般的系统4、上位机代码实现4.1 一阶惯性系统4.2 二阶系统 5、稳定裕度5.1 幅值裕度5.2 相角裕度 参考 1、一阶惯性环节的幅频特性曲线分析及绘制 这里的a和b可以根据系统的不同修改,…

2000-2023年上市公司财务困境RLPM模型数据(含原始数据+计算结果)

2000-2023年上市公司财务困境RLPM模型数据&#xff08;含原始数据计算结果&#xff09; 1、时间&#xff1a;2000-2023年 2、来源&#xff1a;上市公司年报 3、指标&#xff1a;证券代码、证券简称、统计截止日期、是否剔除ST或*ST或PT股、是否剔除上市不满一年、已经退市或…

【binder】【android12】【2.servicemanager启动——全源码分析】

系列文章目录 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 …

入门Java编程的知识点—>面向对象(day07)

重点掌握什么是面向对象&#xff1f;重点掌握面向对象封装的意义&#xff1f;重点掌握类的封装,创建对象,访问对象&#xff1f; 面向对象 OO&#xff1a;&#xff08;Object Oriented&#xff09;面向对象 面向对象是一种编程思想,遵循面向对象设计原则可以写出高质量代码, …

sheng的学习笔记-AI-生成式方法

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 需要额外的知识对应连接&#xff1a; EM&#xff1a;sheng的学习笔记-AI-EM算法-CSDN博客 贝叶斯&#xff1a; sheng的学习笔记-AI-贝叶斯&#xff08;Bayesian&#xff09;分类-CSDN博客 高斯混合模型&#xff1a;shen…

C#中的WebClient与XPath:实现精准高效的Screen Scraping

在现代互联网中&#xff0c;Screen Scraping&#xff08;屏幕抓取&#xff09;已成为从网页中提取信息的重要技术。对于C#开发者来说&#xff0c;WebClient和XPath是实现高效抓取的重要工具。本文将概述如何使用C#中的WebClient类结合XPath技术&#xff0c;实现精准高效的Scree…

流媒体服务器如何让WebRTC支持H.265,同时又能支持Web js硬解码、软解码(MSE硬解、WASM软解)

为了这一整套的解决方案&#xff0c;调研研发整整花费了差不多半年多的时间&#xff0c;需达成的目标&#xff1a; 流媒体服务器端不需要将H.265转码成H.264&#xff0c;就能让Chrome解码播放H.265&#xff1b; 注意&#xff1a;现在很多市面上的软硬件通过转码H.265成H.264的…

融合创新趋势:Web3时代的跨界融合

随着互联网技术的飞速发展&#xff0c;Web3时代的到来正引领着一场深刻的技术与社会变革。Web3&#xff0c;作为下一代互联网技术的代表&#xff0c;不仅仅是一种技术创新&#xff0c;更是一种跨界融合的趋势。通过去中心化、智能合约和区块链技术的应用&#xff0c;Web3正在重…

django学习入门系列番外篇《request》

文章目录 1 Response功能介绍2 HttpResponse2.1 HttpResponse对象介绍content_typeContent-Type是什么&#xff1f;Content-Type的格式 Content-DispositionContent-Disposition的作用Content-Disposition的使用语句 例子 2.2 HttpResponse常用用法 3 JsonResponse3.1 JsonResp…

2054. 骑马修栅栏

代码 #include<bits/stdc.h> using namespace std; int mp[505][505]; queue<int> ans; int du[505]; int n0,m,u,v;void dfs(int i) {for(int j1;j<n;j){if(mp[i][j]>1){mp[i][j]--;mp[j][i]--;dfs(j);}}ans.push(i); } int main() {cin>>m;for(int …

WordPress简约响应式个人博客Kratos主题

Kratos主题基于Bootstrap和Font Awesome的WordPress一个干净&#xff0c;简单且响应迅速的博客主题&#xff0c;Vtrois创建和维护&#xff0c;主题设计简约友好&#xff0c;并且支持响应式&#xff0c;自适应访问&#xff0c;简seo单大方的主页构造&#xff0c;使得博客能在臃肿…