5分钟速通鸿蒙开发第一篇:开发环境
作者:访客发布时间:2023-10-28分类:程序开发学习浏览:190
1.前言
<$us系统(HarmonyOS)是华为于2019年8月9日在东京举行的华为为开发者大会上发布的1.0版本操作系统,不知道现在已经是2023年中了,HarmonyOS的版本也更新到了3.1了,这篇文章将作为起点,一步一步入门HarmonyOS的开发。(ps:文章的部分内容来自于HarmonyOS的开发指南(3.1/4.0),使用Stage model,有兴趣可以自行参考,另外文章会尽量将HarmonyOS的开发与Android的开发进行比较,让读者们便于理解)
2.准备安装DevEco Studio
注册华为开发者账号并完善资料
Android开发离不开Google,HarmonyOS开发也离不开华为,来到华为开发者联盟主页并选择注册账号,使用手机号或者邮箱注册。在注册完成后可以去个人中心完成开发者认证解锁更多功能。After having a developer number,we can go to prepare to download HarmonyOS development toolsDevEco工作室。
下载安装DevEco Studio并配置环境
The results showed that the results of the study showed that the results of the study showed that the下载完成后续安装过程与AndroidStudio安装过程是一样的
安装完成后我们启动DevEco Studio并进行基础配置,包括Node.js与Ohpm的安装路径设置,SDK下载,选择从华为镜像下载至合适的路径,下载完成后点击Next就完成了。
3. DevEco Studio界面介绍
在这一切都完成之后我们就进入了DevEco Studio,由于DevEco Studio也是powered by the IntelliJ
所以在很多地方越看越眼熟
创建项目
首先咱们先看看创建工程的界面
DevEco工作室:Android Studio:
选择项目模板:
DevEco工作室:
Android Studio:
项目内界面
Now we create good interfaces,enter into IDE,whole interfaces are large enough to be divided into 4 parts,3 parts above different are工程目录区、代码编辑区、预览区,下面一个部分就是通知栏(logcat,run,版本控制类的),具体的就不展开说了和Android开发界面就是不可切换的。
DevEco工作室:Android Studio:
4.工程目录介绍
In this paper,we introduce the specific content of IDE engineering directory area,the entire engineering directory as well as the Android directory can be divided into工程级和模块级
工程级目录
DevEco工作室:
Android Studio:In the DevEco Studio engineering class directory,we can see following few elements:
- AppScope中存放应用全局所需要的资源文件,其中
element
文件夹主要存放公共的字符串、布局文件等资源,media
存放全局公共的多媒体资源文件。 - 条目The results showed that the results of the study showed that the results of the results
- oh_modules是工程的依赖包,保存工程依赖的源文件。
- build-profile.json5是工程级配置信息,包括签名、产品配置等。
- hvigorfile.ts是工程级编译构建任务本,hvigor是一款基于任务管理机制实现的全新的自动化构建工具,主要提供任务注册编排、工程模型管理、配置管理等核心能力。
- oh-package.json5是工程级依赖配置文件,用于记录导入包的配置信息。
模块级目录
DevEco工作室:
Android Studio:In the DevEco Studio Module Level Directory,we can see the following features:
- main文件夹中,ets文件夹用于存放ets代码,resources文件存放模块内的多媒体以及布局文件等,module.json5文件为模块的配置文件,其中
entryability
保存能力文件,用于当前能力应用逻辑和生命周期管理;pages
existing UI界面相关代码文件,初始会生成一个Index曲面。 - ohosTest是单元测试目录。
- build-profile.json5是模块级配置信息,包括编译构建配置项。
- hvigorfile.ts文件是模块级构造脚本。
- oh-package.json5是模块级依赖配置信息文件。
重点文件介绍
build-profile.json5
工程级build-profile.json5
{
"app": {
"signingConfigs": [], //工程的签名信息,可包含多个签名信息
"compileSdkVersion": 9,//指定HarmonyOS应用/服务编译时的SDK版本
"compatibleSdkVersion": 9,//指定HarmonyOS应用/服务兼容的最低SDK版本
//定义构建的产品品类,如通用默认版、付费版、免费版等
"products": [
{
"name": "default",//定义产品的名称,支持定制多product目标产物
"signingConfig": "default",//指定当前产品品类对应的签名信息,签名信息需要在signingConfigs中进行定义
}
]
},
"modules": [
{
"name": "entry",//模块名称
"srcPath": "./entry",//标明模块根目录相对工程根目录的相对路径
"targets": [ //定义构建的APP产物,由product和各模块定义的targets共同定义
{
"name": "default", //target名称,由各个模块的build-profile.json5中的targets字段定义
"applyToProducts": [
"default" //表示将该模块下的“default” Target打包到“default” Product中
]
}
]
}
]
}
模块级build-profile.json5
{
"apiType": 'stageMode',//API类型,使用FA或者Stage模型
"buildOption": { //配置筛选har依赖.so资源文件的过滤规则
},
"targets": [ //定义的Target,开发者可以定制不同的Target
{
"name": "default",
"runtimeOS": "HarmonyOS"
},
{
"name": "ohosTest",
}
]
}
app.json5
{
"app": {
"bundleName": "com.example.myapplication", //标识应用的Bundle名称,用于标识应用的唯一性。该标签不可缺省。
"vendor": "example", //标识对应用开发厂商的描述。
"versionCode": 1000000, //标识应用的版本号,该标签值为32位非负整数。
"versionName": "1.0.0", //标识应用版本号的文字描述,用于向用户展示。
"icon": "$media:app_icon", //应用的图标,标签值为图标资源文件的索引。
"label": "$string:app_name", //应用的名称,标签值为字符串资源的索引
/*
标识应用运行需要的API目标版本的类型,采用字符串类型表示
Canary:受限发布的版本。
Beta:公开发布的Beta版本。
Release:公开发布的正式版本。
*/
"apiReleaseType": "Release",
"debug": false //标识应用是否可调试,该标签由IDE编译构建时生成。
}
}
module.json5
{
"module": {
"name": "entry", //当前Module的名称
"type": "entry", //当前Module的类型
"description": "$string:module_desc", //描述
"mainElement": "EntryAbility", //当前Module的入口UIAbility名称或者ExtensionAbility名称
//当前Module可运行设备类型
"deviceTypes": [
"phone",
"tablet"
],
"deliveryWithInstall": true, //当前Module是否在用户主动安装的时候安装
"installationFree": false, //当前Module是否支持免安装特性
"pages": "$profile:main_pages", //当前Module的profile资源
//当前Module中UIAbility的配置信息
"abilities": [
{
"name": "EntryAbility", //当前UIAbility组件的名称
"srcEntry": "./ets/entryability/EntryAbility.ts", //入口UIAbility的代码路径
"description": "$string:EntryAbility_desc", //描述
"icon": "$media:icon", //当前UIAbility组件的图标
"label": "$string:EntryAbility_label", //当前UIAbility组件对用户显示的名称
"startWindowIcon": "$media:icon", //UIAbility组件启动页面图标资源文件的索引
"startWindowBackground": "$color:start_window_background", //当前UIAbility组件启动页面背景颜色资源文件的索引
"exported": true, //当前ExtensionAbility组件是否可以被其他应用调用
//当前UIAbility组件或ExtensionAbility组件能够接收的的特征集,为数组格式。
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
]
}
}
5.总结
好️️
6.参考链接
本文的参考链接:
- 配置编译构建信息
- module.json5配置文件
- app.json5配置文件
Want to learn more about HarmonyOS development?
- HarmonyOS开发文档
- 示例代码
相关推荐
- 鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 鸿蒙HarmonyOS实战-ArkUI组件(Flex)
- 鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 鸿蒙HarmonyOS实战-ArkTS语言(基本语法)
- 鸿蒙HarmonyOS实战-ArkTS语言(状态管理)
- HarmonyOS鸿蒙应用开发——数据持久化Preferences
- Koltin - 第一篇 - 基础语法和特性说明
- 鸿蒙 Ark Ui UIAbility组件生命周期
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 8Android广播如何解决Sending non-protected broadcast问题
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版