Harmony 应用开发的知识储备

news2024/11/26 20:43:11

Harmony 应用开发的知识储备

  • 前言
  • 正文
    • 一、DevEco Studio版本
    • 二、手机版本
      • ① 环境变量
    • 三、API版本
    • 四、开发语言
    • 五、运行调试

前言

  这里先说明一点,如果你对Android应用开发很熟悉,那么做Harmony应用开发也可以驾轻就熟,只不过在此之前你需要知道一些关于Harmony应用开发的相关知识。

正文

  那么问题就来了,我为什么会知道这些相关的知识点呢?因为踩过一遍坑了,说多了都是泪,唯有文字记录,当然了不同应用开发会踩不同的坑,这是无可厚非,开发的越多知道的就越多,不知道的也越多,因此本文会持续更新。闲话少说,我们进入正题。

一、DevEco Studio版本

  首先要了解Harmony应用开发的开发工具DevEco Studio

在这里插入图片描述

  首先你可以下载DevEco Studio,下载地址,安装DevEco Studio,参看这个视频:演示视频,观看这个视频可能需要华为账号,如果没有的话你先注册一个,关于DevEco Studio的版本也是持续更新的,它是基于IDEA进行二次开发的,如果Android Studio一样。当前最新的版本是DevEco Studio 3.1

二、手机版本

  做Harmony应用开发如果在真机上时,我们需要了解的是鸿蒙手机的版本,这里的版本不是鸿蒙几点零版本,而是指的是开发API版本,这一点就很重要了,至于为什么,后面我再细说,那么我们怎么查看鸿蒙手机的API版本呢?通过环境变量配置工具就可以了。

① 环境变量

  首先进入系统的环境变量页面,在系统变量下新增一个变量,如下图所示:

在这里插入图片描述

变量名:HUAWEI_SDK
变量值:C:\Huawei\Sdk\hmscore\3.1.0\toolchains

需要注意的是你所安装的编辑器路径,上图是我的路径,你要使用自己的路径,其中3.1.0表示的是sdk的版本,最新的就是3.1.0。配置好之后点击确定,然后在系统变量下找到Path变量,点击编辑。

在这里插入图片描述
然后点击新建,输入%HUAWEI_SDK%,点击确定,一路确定。下面我们Win + R打开运行窗口,输入cmd,打开命令行窗口。

输入hdc

在这里插入图片描述

  出现如图所示,说明环境变量配置成功了,只不过现在你的电脑没有连接鸿蒙设备,所以显示No any target,下面我们打开鸿蒙手机的开发者模式,然后通过数据线连接电脑,如果手机上出现一个调试弹窗,勾选上,然后你再输入hdc -v。

  查看手机API版本,首先进入hdc shell模式,如同adb shell

hdc shell

查看手机的API版本

getprop hw_sc.build.os.apiversion

查看手机的版本类型,一般都是Relase。

getprop hw_sc.build.os.releasetype

在这里插入图片描述

通过查询可以得知我的HUAWEI P30是API 6的Release版本。

如果上面的指令查不到,你可以使用

getprop persist.sys.ohc.apiversion

getprop persist.sys.ohc.releasetype

这是在高版本API的情况下使用的指令,如果你觉得麻烦那就这样。

if [ -z $(getprop persist.sys.ohc.apiversion) ];then
echo $(getprop hw_sc.build.os.apiversion)
echo $(getprop hw_sc.build.os.releasetype)
else
echo $(getprop persist.sys.ohc.apiversion)
echo $(getprop persist.sys.ohc.releasetype)
fi

在hdc shell之后,你把这段代码复制过去,然后回车,就会看到6和Release。

三、API版本

  上面我们费尽心思去获取鸿蒙手机的API版本的目的是为了什么呢?

编译SDK版本API版本开发语言
3.1.09ArkTS
3.0.08ArkTS、JS
3.0.07JS、Java
2.2.06JS、Java
2.1.05JS、Java
2.0.04JS、Java

  通过上表我们可以了解到DevEco Studio的编译SDK版本,支持的API版本和开发语言,至于更早的API版本其实知不知道没有太大关系,因为现在基本上最低都是Harmony2.0了,普遍是3.0,比如我目前用的测试机,HUAWEI P30 就是之前从2.0升到3.0,不知道还有没有机会升级到4.0。

  目前HarmonyOS属于高速发展的阶段,每一个版本的更新内容都很多,一些功能也会逐步开放,如果如果你有条件的话,弄一个高版本API的手机,会让你开发起来事半功倍,因为你现在看到的Harmony官网主推的是ArkTS,兼容性也会越来越好,未来可能就是ArkTS是唯一支持语言了,而且论坛上的信息最新的也是ArkTS,至于Java相关的都是21年的了,而且很多不维护了。首先你要知道你的手机API版本,不然你到时候看了半天ArkTS,然后发现调试的时候用不了,还是得用Java或JS,这就是我说的坑。

四、开发语言

  开发语言首先要看你的兼容性了,这里就有一个坑,那就是API版本兼容的问题,比如你买了一个Mate 60 Pro遥遥领先,虽然它是HarmonyOS4.0,然后你通过hdc查看API版本可能会是 8 ,而不是 9 。而我的测试机P30是 6 ,那么如果我创建一个API 9的工程进行开发,是无法在P30上进行真机调试的,因为版本不兼容,所以我就用不了ArkTS语言进行开发。就需要创建符合手机API版本的工程来进行开发,比如API 6,如下图所示。

在这里插入图片描述

高版本API的鸿蒙手机是可以在低版本API工程上进行编译的,就是我现在创建一个API 6 的工程,然后真机调试同事的Mate 40 Pro,是可以的。

五、运行调试

  当我们创建好一个工程之后,要想运行,首先要做的就是配置Debug相关信息,这个是和iOS有点类似,你可以点击DevEco StudioFile → Project Structure。如果你是一个新项目的话,这里可能就会需要你登陆一下华为账号,然后你在能进入Signing Configs进行本地Debug的证书配置。

在这里插入图片描述

当这个页面出现下面的信息之后你就可以在本地Debug运行调试了。

在这里插入图片描述

你可以勾选上Automatically generate signature项目,让编辑器可以在之后的开发中自动根据你的更改内容同步更改这些配置。

同时在编译安装过程中,DevEco Studio默认每一次都会卸载你之前安装的应用然后再安装,之前的应用数据不会保留,如果你不希望这样。可以进入Run → Edit Configurations...

在这里插入图片描述

勾选上Keep Application Data,这样就会覆盖安装应用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

bat脚本批量修改文件名称的方法,以及乱码问题解决

当有大量的文件,需要按照对应数据进行文件名称的修改时候,用bat脚本,是一个快速,并且简单的方法。 使用命令 “"ren "&A2&" "&D2&""” 其中A2为需要修改的单元格,D2为…

微信超实用的小功能

微信真的有超多实用小功能 平时很少注意到,每次都用传统的方法解决,浪费人家研发人员的一片苦心~ 1重要事项提醒:健忘症的福音; 步骤:长按消息-提醒-设置。 2 图片翻译:不用跳转翻译软件,一键翻…

卷积神经网络中参数量的计算原理及方法

手动计算参数量: 1. 卷积层参数计算方法: 参数量计算公式 卷积核宽度 * 卷积核高度 * 输入层通道数 * 输出层通道数 bias(输出层通道数) 注意:池化层没有参数(只是在已知数据区域里求个最大值)输入层通道数就是上层的卷积核数量 输出层通道数等于卷积核个数:输入层通道数经过…

双十一“静悄悄”?VR购物拉满沉浸式购物体验

以往每年的双十一,都会因为电商购物狂欢而变得热闹非凡,而各大电商平台也会在这天推出各种促销活动。但是,近几年来,双十一正在变得“静悄悄”。一个原因是消费群体越发理性消费,更加重视商品本身的质量和体验&#xf…

maven-compiler-plugin和spring-boot-maven-plugin的区别

两者都能打包!!!!!!! 格式不同!!!用处不同!!! 以实验为准,下面开始实验: maven-compiler-plugin &…

基于SSM的汽车租赁系统业务管理子系统设计实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

[每周一更]-(第71期):DevOps 是什么?

Wiki的解释: DevOps(Development和Operations的混成词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。 通过自动化“软件交付”和“架构变更”的…

Redis客户端-引入jedis

ssh端口转发 Redis服务器在官网公开了使用的协议(RESP),此时任何一个第三方都可以通过上述协议,来实现出一个和redis服务器通信的客户端程序. 现在,已经有很多库可以让我们直接调用,就不必关注redis协议的细节了. 在java的生态中,封装了RESP协议,实现的redis客户端有很多,我…

亚数受邀参加第六届进博会配套论坛,获评“2023年度上海重点产业提升国际竞争力示范案例”!

11月8日,由上海市商务委指导,上海社科院和临港集团主办,上海社科院应用经济研究所、徐汇虹梅街道和上海市漕河泾新兴技术开发区开发总公司联合承办,长三角产业国际竞争力联盟协办的第六届中国国际进口博览会提升上海产业国际竞争力…

整车级虚拟标定:降本增效

随着社会发展和用户对汽车产品要求的提高,在排放油耗法规逐步加严与新能源汽车凶猛来势的双重夹击下,动力系统配置、车辆配置以及目标市场的多样化正在为汽车产品开发工作带来巨大挑战,也给整车厂研发带来巨大压力。自2005年实施的CAFC&#…

白嫖阿里云服务器教程来了,薅秃阿里云!

白嫖阿里云服务器攻略来了,在阿里云免费试用中心可以申请免费服务器,但是阿里云百科不建议选择免费的,只有3个月使用时长,选择99元服务器不是更香,2核2G配置3M固定带宽,一年99元,重点是新老用户…

操作系统第一次实验——短作业优先调度算法(SJF)

一、实验目的: 目的:了解并掌握作业调度的功能,熟悉并掌握各种作业调度算法。 任务:模拟实现先来先服务或者短作业优先调度算法。 二、实验内容: 1、实验内容 模拟实现SJF调度。 设置作业体:作业名&#x…

解决:Git报错same change IDs

当使用git review的时候,review失败,报错multi commit …same change ids。。 错误: same Change-Id in multiple changes 意思是说,有多个commit记录的change ids是相同的,这change id概念出现在gerrit&#xff0…

将VS工程转为pro工程及VS安装Qt插件后没有create basic .pro file菜单问题解决

目录 1. 前言 2. VS工程转为pro工程 3. 没有create basic .pro file菜单 1. 前言 很多小伙伴包括本人,如果是在Windows下开发Qt程序,偏好用Visual Studio外加装个Qt插件进行Qt开发,毕竟Visual Studio确实是功能强大的IDE,但有时…

国际阿里云:Windows系统ECS实例中CPU使用率较高问题的排查及解决方案!!

问题现象 Windows系统ECS实例中CPU使用率较高,即CPU使用率≥80%。 问题原因 CPU使用率较高可能有以下原因。 ECS实例遭到病毒木马入侵。 ECS实例中第三方杀毒软件运行。 ECS实例中应用程序异常、驱动异常、高I/O使用率或高中断处理的应用程序。 解决方案 步骤…

OAuth2.0和1.0的区别

OAuth2.0的最大改变就是不需要临时token了,直接authorize生成授权code,用code就可以换取accesstoken了,同时accesstoken加入过期,刷新机制,为了安全,要求第三方的授权接口必须是https的。OAuth2.0不能向下兼…

基础课27——人工智能训练师人才画像

1.什么是人工智能训练师 根据《人工智能训练师》国家职业技能标准(2021年版),人工智能训练师是指“使用智能训练软件,在人工智能产品使用过程中进行数据库管理、算法参数设置、人机交互设计、性能测试跟踪及其他辅助作业的人员”…

社区治理进化史!拓世法宝化身“虚拟社工”,点亮智能社区的每一个角落

时光流转、技术猛进,社区不再只是在制度层面作为城市治理的最小单元,更是在民生层面成为政府联系、服务群众的“神经末梢”。城市的脚步越来越匆忙,人们对于社区的服务期待也愈发高涨。面对日益复杂的社区治理和服务需求,我们迫切…

建设大型综合运维平台,对接集成多厂商网管系统

当前,云计算、大数据、人工智能等IT技术迅猛发展,企业的信息化步入了一个崭新的时代,企业规模不断壮大,业务不断拓展,企业信息化依赖的网络结构和IT技术越来越复杂。因建设时期等原因,企业网络中分布着不同…

Springboot SpringCloudAlibaba Nacos 项目搭建

依赖版本: spring-boot:2.3.12.RELEASE spring-cloud-alibaba:2.2.7.RELEASE spring-cloud:Hoxton.SR12 nacos:2.0.3 1.部署搭建Nacos注册中心 Linux Nacos 快速启动_nacos linux快速启动-CSDN博客 2.构建项目 源码地…