Harmony 应用开发的知识储备

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.mzph.cn/news/137249.shtml

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

相关文章

TensorFlow学习笔记--(2)张量的常用运算函数

张量的取值函数 求张量的平均值: tf.reduce.mean(%张量名%)求张量的最小值:tf.reduce_min(%张量名%)求张量的最大值:tf.reduce_max(%张量名%)求张量的和:tf.reduce_sum(%张量名%)其次,对于上述所有操作 都可在函数后添加一个新的参数 axis%维度% axis0 代表第一维度 axis1 代表…

无人机航迹规划:五种最新智能优化算法(COA、SWO、KOA、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(LSO、SWO、KOA、GRO、LO)简介 1、小龙虾优化算法COA 小龙虾优化算法(Crayfsh optimization algorithm,COA)由Jia Heming 等人于2023年提出,该算法模拟小龙虾的避暑、竞争和觅食行为&#xf…

浅谈工厂电能管理系统改造与产品选型

叶根胜 安科瑞电气股份有限公司 上海嘉定202001 摘要:随着经济的快速发展,能源紧张和环境恶化引起了全世界的密切关注。电能在所有能源中消耗量大,但不可或缺,因此对电能的统一管理尤为重要。只有准确可靠的计量电能、分级管理和…

物奇平台耳机宕机恢复功能实现

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,群赠送语音信号处理降噪算法,蓝牙音频,DSP音频项目核心开发资料, 物奇平台耳机宕机恢复功能实现 一 需求与场景 1 使…

QWidget 实现九宫格图案解锁

前言 最近需要实现一个九宫格图案解锁功能,查看网上的方案,基于QWidget的方案全网搜来搜去就一篇 Qt编写自定义控件:图案密码锁, 都是炒来炒去的同一篇,代码还比较复杂,运行后在PC端还是可以的,但是运行在arm机器上,就卡顿,或者容易断开手势连接线,各种不友好,于是自…

双11狂欢最后一天

大家好,本年度双11即将到来,为了答谢大家多年来的支持及更广泛的推广VBA的应用,“VBA语言専功”在此期间推出巨大优惠:此期间打包购买VBA技术资料实行半价优惠。 1:面向对象:学员及非学员 2:打…

另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国

前不久,灰度在与 SEC 就关于 ETF 受理的诉讼案件中,以灰度胜诉告终。灰度的胜利,也被加密行业看做是加密 ETF 在北美地区阶段性的胜利, 该事件也带动了加密市场的新一轮复苏。 此前,Nason Smart Money 曾对加密市场在 …

时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测

时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测 目录 时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现SVM-Adaboost时间序列预测(风…

C/C++ 动态内存管理(内存是如何分布的?malloc/new,free/delete的用法是什么?区别是什么?)

目录 一、前言 二、C/C中的内存分布 💦了解内存区域的划分 💦内存存储区域的对比和注意点 💦内存管理的常考面试题 三、C语言的动态管理方式 四、C的动态管理方式 💦new / delete 操作内置类型(int,char.....&…

【EI会议征稿】第八届先进能源科学与自动化国际研讨会(AESA 2024)

第八届先进能源科学与自动化国际研讨会(AESA 2024) 2024 8th International Workshop on Advances in Energy Science and Automation 继AESA 2017-2023相继成功举办之后,来自国内外多所高校、科研院所及企业代表在先进能源科学与自动化的科研合作和交流…

Leetcode_3:无重复字符的最长子串

题目描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s "bbbbb"…

小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核

小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核 因小程序尚未发布,订单中心不能正常打开查看,请先发布小程序后再提交订单中心PATH申请 初次提交…

强化IP地址管理措施:确保网络安全与高效性

IP地址管理是网络安全和性能管理的关键组成部分。有效的IP地址管理可以帮助企业确保网络的可用性、安全性和高效性。本文将介绍一些强化IP地址管理的关键措施,以帮助企业提高其网络的安全性和效率。 1. IP地址规划 良好的IP地址规划是强化IP地址管理的基础。它涉及…

具名挂载和匿名挂载

匿名卷挂载 : -v 的时候只指定容器内的路径 如下面这个:/etc/nginx 1.docker run -d -P --name nginx -v /etc/nginx nginx 2.查看所有卷 docker volume ls 这里发现,这就是匿名挂载,只指定容器内的路径,没有指定…

类图复习:类图简单介绍

入职新公司在看新项目的代码,所以借助类图梳理各个类之间的关系,奈何知识已经还给了老师,不得不重新学习下类图的相关知识,此处将相关内容记录下方便后续使用。 文章目录 类图语法类与类的关系画类图 类图语法 语法描述public-pr…

算术运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符

1.算术运算符 public class OperatorDemo1 {public static void main(String[] args) {int a 10;int b 2;System.out.println(a b);System.out.println(a - b);System.out.println(a * b);System.out.println(a / b);System.out.println(5 / 2);System.out.println(5.0 / 2);…

PHP分类信息网站源码系统 电脑+手机+微信端三合一 带完整前后端部署教程

大家好啊!今天源码小编来给大家分享一款PHP分类信息网站类源码系统。这款源码系统是一套专业的信息发布类网站综合管理系统,适合各类地方信息和行业分类站点建站。随着这几年我们国家网民爆炸式的增 长,网络信息也随之越来越庞大,…

三大基础排序 -选择排序、冒泡排序、插入排序

排序算法 文章目录 冒泡排序算法步骤动图代码优化总结 选择排序算法步骤动图代码总结 插入排序算法步骤动图代码总结 排序算法,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。一般默认排序是按照由小到大即…

【Hadoop实战】Hadoop指标系统V2分析

Hadoop指标系统V2分析 文章目录 Hadoop指标系统V2分析架构主要组成部分根据图表解释数据流向指标过滤JMX的应用开启指标系统的组件指标项说明 使用HTTP(JMXJsonServlet)获取指标接口调用方式GET查询的逻辑数据的来源,以及更新的原理 架构 在…

8-2、T型加减速计算简化【51单片机控制步进电机-TB6600系列】

摘要:本节介绍简化T型加减速计算过程,使其适用于单片机数据处理。简化内容包括浮点数转整型数计算、加减速对称处理、预处理计算 一、浮点数转整型数计算 1.1简化∆t_1计算 根据上一节内容已知 K0.676 step1.8/X(x为细分值,1.8对…