当前位置:   article > 正文

5分钟速通鸿蒙开发第一篇:开发环境

鸿蒙this api is used only in fa mode, but the current apitype is stagemode.

1.前言

鸿蒙系统(HarmonyOS)是华为于2019年8月9日在东莞举行华为开发者大会发布的1.0版本操作系统,不知不觉现在已经是2023年中了,HarmonyOS的版本也更新到了3.1了,这篇文章将作为起点,一步一步入门HarmonyOS开发。(ps:文章的部分内容来自于HarmonyOS的开发指南(3.1/4.0),使用Stage模型,有兴趣可以自行参考,此外文章会尽量将HarmonyOS开发和Android的开发作比较,让读者们便于理解)

  1. 作者:Otaku_尻男
  2. 链接:https://juejin.cn/post/7278306359971954703

2.准备安装DevEco Studio

注册华为开发者账号并完善资料

Android开发离不开Google,HarmonyOS开发也离不开华为,来到华为开发者联盟主页0300bfdbdf532097e1b2424a74e49aff.jpeg并选择注册账号,使用手机号或者邮箱注册。875a89a0d32cf3f8fe5d051d3c406def.jpeg在注册完成后可以去个人中心完成开发者认证解锁更多功能。在拥有一个开发者账号之后我们就可以去准备下载HarmonyOS的开发工具DevEco Studio

下载安装DevEco Studio并配置环境

在DevEco Studio下载界面(https://developer.harmonyos.com/cn/develop/deveco-studio#download)选择自己的操作系统下载对应的版本即可,当前Studio的最新版本为3.1.1(如下图所示)aa1860322db42a373df9848c15e1fe59.jpeg下载完成以后安装过程和AndroidStudio安装过程是一样的71ec1902d503b1e55210a5c3544fc02c.jpege5e323f7cff1eb082fa9c602b5697124.jpeg22fcda1597de58ef9406078ff408d600.jpeg

安装完成后我们启动DevEco Studio并进行基础配置,包括Node.js与Ohpm的安装路径设置、SDK下载,选择从华为镜像下载至合适的路径,下载完成后狂点Next就完事了。50026022ca127a58e6ba5adbc90e1704.jpegbd2a0403c0f268a4bc30ca4812185805.jpegb39db7cc777bba52cb8116609223ba17.jpeg

3.DevEco Studio界面介绍

在这一切都完成以后我们就进入了DevEco Studio,由于DevEco Studio也是powered by the IntelliJ所以在很多地方越看越眼熟

创建项目

首先咱们先看看创建工程的界面

DevEco Studio:767711a22b5e7f464779e636471a1bfb.jpegAndroid Studio:ff4def1e53924b4c5970002b130290cf.jpeg

选择项目模板:

DevEco Studio:845c978301659dbf4fae2b843c523e6f.jpeg

Android Studio:e220df0231ae8c7c000c3fc1ec78366d.jpeg

项目内界面

现在我们创建好界面,进入到了IDE,整个界面大致可以分成4个部分,上面3部分分别是工程目录区代码编辑区预览区,下面一个部分就是通知栏(logcat、run、版本控制之类的),具体的就不展开说了和Android开发界面就是无缝切换的。

DevEco Studio:5ffdeab9d24b174d73b6d15b3ec74c98.jpegAndroid Studio:9a833eed7b98ab02dccb123c787d8338.jpeg

4.工程目录介绍

接下来我们重点介绍一下IDE工程目录区中的具体内容,整个工程目录和Android中的一样可以拆分成工程级模块级

工程级目录

DevEco Studio:21337f5214035e41df732f49a3989cc6.jpeg

Android Studio:53d1ada38048678c02318dd98e185de8.jpeg在DevEco Studio工程级目录中我们可以看到以下几个元素:

  • AppScope中存放应用全局所需要的资源文件,其中element文件夹主要存放公共的字符串、布局文件等资源, media存放全局公共的多媒体资源文件

  • entry是应用的主模块,存放HarmonyOS应用的代码、资源等。

  • oh_modules是工程的依赖包,存放工程依赖的源文件。

  • build-profile.json5是工程级配置信息,包括签名、产品配置等。

  • hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。

  • oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。

模块级目录

DevEco Studio:793486ce4d489c85f428de9b947e47d2.jpeg

Android Studio:3c4973bd075601ecf6e1dc23fb76dfae.jpeg在DevEco Studio模块级目录中我们可以看到以下几个元素:

  • main文件夹中,ets文件夹用于存放ets代码,resources文件存放模块内的多媒体及布局文件等,module.json5文件为模块的配置文件,其中entryability存放ability文件,用于当前ability应用逻辑和生命周期管理pages存放UI界面相关代码文件,初始会生成一个Index页面。

  • ohosTest是单元测试目录。

  • build-profile.json5是模块级配置信息,包括编译构建配置项。

  • hvigorfile.ts文件是模块级构建脚本。

  • oh-package.json5是模块级依赖配置信息文件。

重点文件介绍

build-profile.json5
工程级build-profile.json5
  1. {
  2. "app": {
  3. "signingConfigs": [], //工程的签名信息,可包含多个签名信息
  4. "compileSdkVersion": 9,//指定HarmonyOS应用/服务编译时的SDK版本
  5. "compatibleSdkVersion": 9,//指定HarmonyOS应用/服务兼容的最低SDK版本
  6. //定义构建的产品品类,如通用默认版、付费版、免费版等
  7. "products": [
  8. {
  9. "name": "default",//定义产品的名称,支持定制多product目标产物
  10. "signingConfig": "default",//指定当前产品品类对应的签名信息,签名信息需要在signingConfigs中进行定义
  11. }
  12. ]
  13. },
  14. "modules": [
  15. {
  16. "name": "entry",//模块名称
  17. "srcPath": "./entry",//标明模块根目录相对工程根目录的相对路径
  18. "targets": [ //定义构建的APP产物,由product和各模块定义的targets共同定义
  19. {
  20. "name": "default", //target名称,由各个模块的build-profile.json5中的targets字段定义
  21. "applyToProducts": [
  22. "default" //表示将该模块下的“default” Target打包到“default” Product中
  23. ]
  24. }
  25. ]
  26. }
  27. ]
  28. }
模块级build-profile.json5
  1. {
  2. "apiType": 'stageMode',//API类型,使用FA或者Stage模型
  3. "buildOption": { //配置筛选har依赖.so资源文件的过滤规则
  4. },
  5. "targets": [ //定义的Target,开发者可以定制不同的Target
  6. {
  7. "name": "default",
  8. "runtimeOS": "HarmonyOS"
  9. },
  10. {
  11. "name": "ohosTest",
  12. }
  13. ]
  14. }
app.json5
  1. {
  2. "app": {
  3. "bundleName": "com.example.myapplication", //标识应用的Bundle名称,用于标识应用的唯一性。该标签不可缺省。
  4. "vendor": "example", //标识对应用开发厂商的描述。
  5. "versionCode": 1000000, //标识应用的版本号,该标签值为32位非负整数。
  6. "versionName": "1.0.0", //标识应用版本号的文字描述,用于向用户展示。
  7. "icon": "$media:app_icon", //应用的图标,标签值为图标资源文件的索引。
  8. "label": "$string:app_name", //应用的名称,标签值为字符串资源的索引
  9. /*
  10. 标识应用运行需要的API目标版本的类型,采用字符串类型表示
  11. Canary:受限发布的版本。
  12. Beta:公开发布的Beta版本。
  13. Release:公开发布的正式版本。
  14. */
  15. "apiReleaseType": "Release",
  16. "debug": false //标识应用是否可调试,该标签由IDE编译构建时生成。
  17. }
  18. }
module.json5
  1. {
  2. "module": {
  3. "name": "entry", //当前Module的名称
  4. "type": "entry", //当前Module的类型
  5. "description": "$string:module_desc", //描述
  6. "mainElement": "EntryAbility", //当前Module的入口UIAbility名称或者ExtensionAbility名称
  7. //当前Module可运行设备类型
  8. "deviceTypes": [
  9. "phone",
  10. "tablet"
  11. ],
  12. "deliveryWithInstall": true, //当前Module是否在用户主动安装的时候安装
  13. "installationFree": false, //当前Module是否支持免安装特性
  14. "pages": "$profile:main_pages", //当前Module的profile资源
  15. //当前Module中UIAbility的配置信息
  16. "abilities": [
  17. {
  18. "name": "EntryAbility", //当前UIAbility组件的名称
  19. "srcEntry": "./ets/entryability/EntryAbility.ts", //入口UIAbility的代码路径
  20. "description": "$string:EntryAbility_desc", //描述
  21. "icon": "$media:icon", //当前UIAbility组件的图标
  22. "label": "$string:EntryAbility_label", //当前UIAbility组件对用户显示的名称
  23. "startWindowIcon": "$media:icon", //UIAbility组件启动页面图标资源文件的索引
  24. "startWindowBackground": "$color:start_window_background", //当前UIAbility组件启动页面背景颜色资源文件的索引
  25. "exported": true, //当前ExtensionAbility组件是否可以被其他应用调用
  26. //当前UIAbility组件或ExtensionAbility组件能够接收的的特征集,为数组格式。
  27. "skills": [
  28. {
  29. "entities": [
  30. "entity.system.home"
  31. ],
  32. "actions": [
  33. "action.system.home"
  34. ]
  35. }
  36. ]
  37. }
  38. ]
  39. }
  40. }

5.总结

Ok,本篇文章带你大致浏览了HarmonyOS开发入门所要准备的环境以及熟悉了DevEco Studio的开发界面,了解了项目工程目录下的配置文件内容,希望对你有帮助,如果你们有疑问或者想说的也欢迎在论区或私信留言捏❤️❤️。

关注我获取更多知识或者投稿

f4af4e9245cf23879f30a59dc864f60b.jpeg

fd7ab5c3207c0c008fe28d1767283731.jpeg

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/333128
推荐阅读
相关标签
  

闽ICP备14008679号