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

相关推荐
后端码匠2 小时前
MySQL 8.0安装(压缩包方式)
android·mysql·adb
梓仁沐白3 小时前
Android清单文件
android
董可伦6 小时前
Dinky 安装部署并配置提交 Flink Yarn 任务
android·adb·flink
每次的天空6 小时前
Android学习总结之Glide自定义三级缓存(面试篇)
android·学习·glide
恋猫de小郭6 小时前
如何查看项目是否支持最新 Android 16K Page Size 一文汇总
android·开发语言·javascript·kotlin
flying robot8 小时前
小结:Android系统架构
android·系统架构
xiaogai_gai8 小时前
有效的聚水潭数据集成到MySQL案例
android·数据库·mysql
鹅鹅鹅呢9 小时前
mysql 登录报错:ERROR 1045(28000):Access denied for user ‘root‘@‘localhost‘ (using password Yes)
android·数据库·mysql
在人间负债^9 小时前
假装自己是个小白 ---- 重新认识MySQL
android·数据库·mysql
Unity官方开发者社区9 小时前
Android App View——团结引擎车机版实现安卓应用原生嵌入 3D 开发场景
android·3d·团结引擎1.5·团结引擎车机版