同样都是鸿蒙 os4.0 版本的手机,但不同机型使用的 apiversion 却不同 ,根据官方论坛等渠道的反馈,支持新版的 api9(最新版为 api11) 的机型有 nova10 系列,mate30,p40/50 等。那么怎样确认具体机型使用的 apiversion 是多少呢,查阅官方文档 hdc 命令可以支持,下面记录一下具体的使用过程。

使用前需要确认的配置

HDC 工具

HarmonyOS Device Connect(HDC)是一个用于连接和管理 HarmonyOS 设备的工具,类似于 Android 的 ADB 工具。要使用 hdc 命令,需要确认以下几点

确保 HDC 环境已设置

HDC 工具是 DevEco Studio 的一部分,可以在 DevEco Studio 的安装目录下的 Sdk/hmscore/3.1.0/toolchains/hdc 文件夹内(windows 系统为 Sdk\hmscore\3.1.0\toolchains\hdc.exe)。具体查看方式为 DevEco Studio 的文件 > 设置(mac 为 Preferences)下的 SDK 下配置的安装路径目录

连接设备

使用 USB 线将你的鸿蒙设备连接到电脑。确保设备已开启开发者模式,并且已允许 USB 调试,如果没有反应,可以尝试重新让手机与电脑的连接。

配置 hdc 为系统命令

按照官方的配置过程,我的电脑没有生效。尝试修改.bash_profile 文件,可以成功,但会影响我本地的 nvm 和 nrm 等命令,因而去掉了,如果大家有配置成功的欢迎评论区留言。

  • mac 配置
1
2
3
export PATH=请看上面描述如何找到hdc的方法
# 示例
export PATH=/Users/sayonara/Library/Huawei/Sdk/hmscore/3.1.0/toolchains

测试配置

  • 电脑为 m1pro 机型
  • 手机为荣耀 20pro / 华为 nova10 青春版

使用方式

因为没有配置成全局的系统变量,使用 hdc 时,直接进入 hdc 所在的文件目录中执行,mac 使用./hdc ,windows 使用 hdc.exe

下面以 mac 为例子

1
2
3
4
5
6

# 查看设备
./hdc std list targets

# 查看设备信息
./hdc shell getprop | grep ro.build.version

这个命令会显示设备的系统属性,其中包括鸿蒙系统的版本信息。getprop 命令列出了很多系统属性, ro.build.version 会告诉你系统的版本号

通过 hdc -c shell 进入设备查看设备使用的 apiversion 版本

1
2
3
4
5
6
7
# 进入设备
./hdc -c shell

# 查看apiversion版本,在3.1 Release之前的版本上,使用如下hdc的命令去查看版本
getprop hw_sc.build.os.apiversion
# 之后的的版本用,如如下hdc的命令查看版本,可能什么也不返回,原因可能是当前机型不支持此api
getprop persist.sys.ohc.apiversion

荣耀 20pro 结果:

  • 可以看到荣耀 20pro 使用的 apiversion 是 6

华为 nova10 青春版结果:

  • 可以看到华为 nova10 青春版 使用 3.1 之后 api 返回的 apiversion 是 9

相关文档链接