【HarmonyOS Next之旅】DevEco Studio使用指南(二)

目录

1 -> 工程模板介绍

2 -> 创建一个新的工程

2.1 -> 创建和配置新工程

2.1.1 -> 创建HarmonyOS工程

2.2.2 -> 创建OpenHarmony工程


1 -> 工程模板介绍

DevEco Studio支持多种品类的应用/元服务开发,预置丰富的工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行应用/元服务开发,包括ArkTS、JS和C/C++。

工程模板支持的开发语言及模板说明如下表所示:

模板名称说明
Empty Ability用于Phone、Tablet、2in1、Car设备的模板,展示基础的Hello World功能。
Native C++用于Phone、Tablet、2in1、Car设备的模板,作为应用调用C++代码的示例工程,界面显示“Hello World”。
[CloudDev]Empty Ability端云一体化开发通用模板。
[Lite]Empty Ability用于Lite Wearable设备的模板,展示了基础的Hello World功能。可基于此模板,修改设备类型及RuntimeOS,进行小型嵌入式设备开发。
Flexible Layout Ability用于创建跨设备应用开发的三层工程结构模板。三层工程结构包含common(公共能力层)、features(基础特性层)、products(产品定制层)。
Embeddable Ability用于开发支持被其他应用嵌入式运行的元服务的工程模板。

2 -> 创建一个新的工程

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

说明

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

2.1 -> 创建和配置新工程

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

2.1.1 -> 创建HarmonyOS工程

1. 通过如下两种方式,打开工程创建向导界面。

  1. 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。
  2. 如果已经打开了工程,可以在菜单栏选择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,工具会自动生成示例代码和相关资源,等待工程创建完成。

    2.2.2 -> 创建OpenHarmony工程

    1. 在完成创建HarmonyOS工程后,根据如下操作修改工程级build-profile.json5文件中相关字段:

    1. 在工程级build-profile.json5文件添加compileSdkVersion字段。

    2. compatibleSdkVersioncompileSdkVersion字段赋值为整数类型。

    3. 将runtimeOS从"HarmonyOS"修改为"OpenHarmony"
    "products": [{"name": "default","signingConfig": "default", "compileSdkVersion": 11,    //指定OpenHarmony应用编译时的版本,当前以API 11为例"compatibleSdkVersion": 11, //指定OpenHarmony应用兼容的最低版本,当前以API 11为例"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"。


    感谢各位大佬支持!!!

    互三啦!!!

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31204.html

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

    相关文章

    transformer模型介绍——大语言模型 LLMBook 学习(二)

    1. transformer模型 1.1 注意力机制 **注意力机制(Attention Mechanism)**在人工智能中的应用,实际上是对人类认知系统中的注意力机制的一种模拟。它主要模仿了人类在处理信息时的选择性注意(Selective Attention)&a…

    RAG 常见分块策略全解析:从原理到代码实践(2025 深度版)

    大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 更多文章可关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能! 引言 在检索增强生成(RAG)系统中,分块策略是决定系统…

    【论文解读】《START: Self-taught Reasoner with Tools》

    链接:https://arxiv.org/pdf/2503.04625 1. 论文概述 解决现有大规模推理模型(LRMs)在复杂推理任务中容易产生幻觉(hallucination)以及内部推理效率低下的问题。提出一种工具集成的长链条思考(Long Chain…

    【问题处理】Vmware安装Centos Stream10无法加载安装界面

    问题描述 使用Vmware17安装Centos Stream 10,安装界面无法成功加载,长时间显示为灰色,导致安装过程无法继续,如图所示。 问题原因 图形界面的渲染,相比于命令行界面,所需的硬件要求更高。 如果分配的C…

    通义万相2.1开源版本地化部署攻略,生成视频再填利器

    2025 年 2 月 25 日晚上 11:00 通义万相 2.1 开源发布,前两周太忙没空搞它,这个周末,也来本地化部署一个,体验生成效果如何,总的来说,它在国内文生视频、图生视频的行列处于领先位置&#xff0c…

    线程--轻量化进程

    1、什么是线程 在⼀个程序⾥的⼀个执⾏路线就叫做线程(thread)。更准确的定义是:线程是“⼀个进程内部的控制序列⼀切进程⾄少都有⼀个执⾏线程线程在进程内部运⾏,本质是在进程地址空间内运⾏在Linux系统中,在CPU眼中…

    自动化测试脚本语言选择

    测试人员在选择自动化测试脚本语言时面临多种选项。Python、Java、C#、JavaScript 和 Ruby 都是常见选择,但哪种语言最适合?本文将详细分析这些语言的特点、适用场景和优劣势,结合行业趋势和社会现象,为测试人员提供全面指导。 选…

    React基础之组件通信

    组件嵌套 父子传值实现 实现步骤 1.父组件传递数据-在子组件标签上绑定属性 2.子组件接收数据-子组件通过props参数接收数据 import React, { useRef, useState } from react; //父传子 //1.父组件传递数据,需要在子组件标签上绑定数据 //2.子组件接收数据 props的参…

    UE5从入门到精通之如何创建自定义插件

    前言 Unreal 的Plugins插件系统中有很多的插件供大家使用,包括官方的和第三方的,这些插件不仅能帮我我们实现特定功能,还能够提升我们的工作效率。 所以我们今天就来自己创建一个自定义插件,如果我们想实现什么特定的功能,我们也可以发布到商店供大家使用了。 创建插件 …

    VSCode 2025最新 前端开发必备插件推荐汇总(提效指南)

    🌟前言: 如果你是一名前端开发工程师,合适的开发工具能大大提高工作效率。Visual Studio Code (VSCode) 凭借其轻量级、高扩展性的特点,已成为众多前端开发者在win系电脑的首选IDE。 名人说:博观而约取,厚积而薄发。—…

    BGP实验(一)IBGP全互联配置

    一、拓扑图 二、实验思路 根据BGP的路由优先原则,首先要保证路由可达。但是IBGP间存在水平分割机制,因此实验可使用IBGP全互联,反射器或联盟来实现IBGP间路由可达,本实验使用全互联全互联缺点:将BGP路由引入到IGP&…

    查看和杀死进程线程

    windows 任务管理器tasklist 查看进程taskkill 杀死进程 liunx ps -fe 查看所有进程ps -fT -p 查看某个进程pid 的所有线程kill 杀死进程kill -9 top 按大写H切换是否现实线程top -H -p 查看某个进程的的所有线程 java jps 查看所有Java进程jstack 查看某个Java进程pid 的所…

    SpringBoot(一)--搭建架构5种方法

    目录 一、⭐Idea从spring官网下载打开 2021版本idea 1.打开创建项目 2.修改pom.xml文件里的版本号 2017版本idea 二、从spring官网下载再用idea打开 三、Idea从阿里云的官网下载打开 ​编辑 四、Maven项目改造成springboot项目 五、从阿里云官网下载再用idea打开 Spri…

    Vue Diff算法原理深度解析:如何高效更新虚拟DOM?

    文章目录 1. 为什么需要Diff算法?2. Diff算法核心原则3. 核心流程图解4. 核心代码实现(简化版)5. Key的重要性示例6. 算法优化策略7. 时间复杂度优化8. 与其他框架的对比9. 总结 1. 为什么需要Diff算法? 在Vue的响应式系统中&…

    【QT】简易小六壬起卦器 遇事不决 六壬决断

    整点有意思的,用qt写了个简易小六壬起卦器。 一天不超过三次,占卜前提 不诚不占, 不疑不占, 不义不占 心血来潮时获取当时起卦结果。 不多说,直接上源码。 #pragma once#include "DADMPCoreExportLib.h" …

    数学 二次函数

    二次函数 就是计算一个抛物线。 抛物线的基本公式: 重点中的重点就是解决: (开口方向: 对称轴,顶点,交点) 这里的 y 和 x 就是 这个抛物线的个个点的坐标连成的线。 a 的正负 决定和大小决定…

    Python匿名函数与面向对象编程核心解析:从lambda到继承多态全掌握

    目录 前言一、匿名函数二、面向对象2.1 语言发展2.2 面向对象和面向过程2.2.1 面向过程2.2.2 面向对象2.3 面向对象的技术点二、类的使用三、实例化对象四、访问方法4.1 可以删除、修改、添加类的属性4.2 内置函数访问属性:五、内置类属性六、类的继承6.1 单继承6.2…

    Node.js入门笔记2---下载安装Node.js

    Node.js入门笔记2 Node.js下载并安装的步骤1.Node.js 环境的安装2. 区分 LTS 版本和 Current 版本的不同3.项目node管理版本工具4.Node.js 包管理工具5.MSI与ZIP文件格式的主要区别6. 选择好上面的内容,点击下载mis7. 环境配置 Node.js下载并安装的步骤 1.Node.js …

    【阿里云】控制台使用指南:从创建ECS到系统诊断测评

    前言 随着云计算技术的快速发展,越来越多的企业和开发者开始使用云服务来部署和管理应用程序。在众多云服务提供商中,阿里云(Alibaba Cloud)凭借其强大的基础设施和丰富的服务,成为了众多用户的首选。本文旨在介绍如何…

    【Linux内核系列】:深入理解缓冲区

    🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz ★★★ 本文前置知识: 文件系统以及相关系统调用接口 输入以及输出重定向 那么在此前的学习中,我们了解了文件的概念以及相关的系统调用接口,并…