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相同的图片。

相关推荐
努力变厉害的小超超1 小时前
ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染
笔记·鸿蒙
帅得不敢出门9 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了11 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任13 小时前
Mac和安卓手机互传文件(ADB)
android·macos
芦半山13 小时前
Android“引用们”的底层原理
android·java
迃-幵13 小时前
力扣:225 用队列实现栈
android·javascript·leetcode
大风起兮云飞扬丶14 小时前
Android——从相机/相册获取图片
android
Rverdoser14 小时前
Android Studio 多工程公用module引用
android·ide·android studio
aaajj14 小时前
[Android]从FLAG_SECURE禁止截屏看surface
android
@OuYang14 小时前
android10 蓝牙(二)配对源码解析
android