Harmony学习笔记一——项目创建及配置

文章基于Harmony Next Preview2 进行学习,其他版本可能会稍有不同

准备工作

由于目前Harmony Next仅有Preview版本,想要进行Harmony Next开发需要向华为申请权限,具体操作参考: https://developer.huawei.com/consumer/cn/forum/topic/0208140368442297004?fid=0101587866109860105

权限通过后就可以下载DevEco Studio NEXT Developer Preview的鸿蒙编译器

项目创建

  1. 打开IDE, 点击Create Project

  2. 选择模版,做常规应用开发选择第一个Empty Ability 就可以了,然后点击Next

  3. 配置项目信息

    在这里可以设置项目名称(Project name)、包名(Bundle name)、保存位置(Save location)、模块名称(Module name)等

    要注意的是

    • 由于是基于Next开发,因此Compile SDK和Compatible SDK要在4.1.0(11)及以上
    • Device type 是配置运行应用的设备类型,可以根据应用需求进行选择,其中2in1是指平板电脑二合一的设备

    配置好之后点击Finish,到此完成了项目的创建。

目录解析

第一级目录
  • AppScope

    应用级别的相关配置及资源。

  • build-profile.json5

    1. app标签

      应用的打包配置,包含签名、sdk版本等,和Android工程中app目录下gradle文件的android标签作用一致

    2. modules标签

      配置项目中包含哪些modules,与Android工程中setting.gradle的作用一致

  • entry

    一个module目录,目录名是创建项目时指定的名字,代码就是在这个目录中写的

  • hvigor

    Harmony就是使用hvigor构建的,作用和android中的gradle文件夹一致

  • hvigorfile.ts

    项目级别的打包脚本,里面可以配置自定义插件

  • local.properties

    本地路径配置,默认里面只有hwsdk.dir(Harmony的SDK目录)

  • oh-package.json5

    配置所需要的依赖库

  • oh-package-lock.json5

    根据oh-package.json5自动生成,里面的依赖库会绑定具体版本

  • oh_modules

    在这里会关联到依赖库的具体目录,可以通过这里查看依赖库的代码

AppScope
  • resources

    存储资源,这里的资源可以被项目中所有的module引用

  • app.json5

    应用的配置信息,包含:包名、版本名、版本号、图标、应用名等

entry
  • src/main/ets

    这是源码目录,是我们编写Harmony代码的地方, 同Android中的src/main/java

  • src/main/resources

    资源目录,可以添加颜色、字符串、图片等资源,同Android中的src/main/res

    • base/element

      配置字符串、颜色等常量

    • base/media

      配置图片等多媒体资源

    • base/profile/main_pages.json

      配置该module中有哪些页面(Page),非常重要的文件,类似于在manifest.xml中配置与Activity

  • src/main/module.json5

    该module的配置文件

  • build-profile.json5

    module构建的配置文件

  • hvigorfile.ts

    module构建脚本

  • oh-package.json5

    配置module所需要的依赖库

  • oh-package-lock.json5

    根据oh-package.json5自动生成,里面的依赖库会绑定具体版本

项目配置

应用名和图标配置

当我们在模拟器上运行项目后发现。app的名称是label,但AppScope/app.json5明明已经配置了是HM_demo,这是怎么回事呢

Harmony应用名称(文档上称为标签)分为应用名和入口名,在AppScope/app.json5中配置的是应用名,在手机的的设置------>应用和元服务 中可以看到

而桌面上显示的叫入口名

入口名 实在entry中 src/main/module.json5设置的。同样,图标也分为应用图标和入口图标,设置方式与应用名称一样。

启动页配置

在我们启动应用时候会先看到一个中间为应用默认图标(四叶草)的空白页面,即便我们将应用图标和入口图标都替换了,启动时依旧显示一个四叶草。这个设置是在entry中 src/main/module.json5中的startWindowIcon 属性。讨厌的是这个属性不能去除、不能为空,只能设置一个图片。如果不需要系统的启动图可以将startWindowIcon 设置为一个的像素颜色和startWindowBackground相同的图片。

相关推荐
恋猫de小郭20 分钟前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
woshihuanglaoshi1 小时前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
爱写代码的森10 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
世人万千丶11 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
爱笑鱼17 小时前
Binder(二):AIDL 生成的 Proxy、Stub 和 Parcel 到底在做什么?
android
爱笑鱼17 小时前
Binder(一):一次方法调用,究竟怎样跨进程执行?
android
壮哥_icon18 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
●VON19 小时前
鸿蒙 PC Markdown 编辑器界面语言切换:跟随系统、简体中文与 English 的完整状态闭环
华为·编辑器·harmonyos·鸿蒙
用户693717500138419 小时前
Claude Code终端日志Token占用实测:一个过滤器砍掉60%-90%
android·前端·后端