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

相关推荐
Y多了个想法39 分钟前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
NotesChapter2 小时前
Android吸顶效果,并有着ViewPager左右切换
android
_祝你今天愉快3 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl3 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
麦田里的守望者江3 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin
Dnelic-4 小时前
解决 Android 单元测试 No tests found for given includes:
android·junit·单元测试·问题记录·自学笔记
佛系小嘟嘟4 小时前
Android Studio不显示需要的tag日志解决办法《All logs entries are hidden by the filter》
android·ide·android studio
mariokkm4 小时前
Django一分钟:django中收集关联对象关联数据的方法
android·django·sqlite
长亭外的少年5 小时前
如何查看 Android 项目的依赖结构树
android
深海呐7 小时前
Android 从本地选择视频,用APP播放或进行其他处理
android·音视频·从本地选择视频,用app播放·从本地选择视频,并拿到信息·跳转到本地视频列表