HMS07.应用的运行、DeBug、HiLog、HiTrace
作者:互联网
01.使用模拟器运行
>> 远程模拟器的运行: Remote Emulateor
分为 Single Device 和 Super Device , 分别用于单设备调试和多设备分布式调试;
分布式模拟器当前支持 “Phone+Phone”、“Phone+Tablet”和“Phone+TV”的设备组网方式,同时需要在DevEco中选择Super App
选择不同的模块运行在不同的设备上
模拟器每次使用时长为1小时,到期后会自动释放资源;
远程模拟器的运行,需要实名制认证过的华为开发者联盟账号登陆后才可以使用;
模拟器的使用: Run>Run '模拟名称' / Shift+F10 /
>> 使用 Simulator 运行应用
DevEco Studio提供的Simulator可以运行和调试Lite Wearable和Smart Vision设备的HarmonyOS应用。
在Simulator上运行应用兼容签名与不签名两种类型的HAP。
02.使用远程真机调试
DevEco Studio提供了Remote Device远程真机设备资源供开发者使用,减少开发成本。
目前,远程真机支持Phone和Wearable设备,开发者使用远程真机调试和运行应用时,同本地物理真机设备一样,需要对应用进行签名才能运行。
相比远程模拟器,远程真机是部署在云端的真机设备资源,远程真机的界面渲染和操作体验更加流畅,
同时也可以更好的验证应用在真机设备上的运行效果,比如性能、手机网络环境等。
远程真机调试使用前提条件:
- 已注册成为华为开发者,并完成华为开发者实名认证。
- 已对应用进行签名
需要注意的是,远程真机每次释放后重新申请,服务端分配的设备都不一样。因此,每次重新申请远程真机后,都需要对应用重新进行签名。
03.本地真机调试
a. 使用USB线连接方式 (打开USB调试,USB连接方式选择传输文件)
b.使用 IP Connection连接方式
- 已将Phone/Tablet和PC连接到同一WLAN网络。
- 已获取Phone/Tablet端的IP地址。
- Phone/Tablet上的5555端口为打开状态,默认是关闭状态,可以通过使用USB连接方式连接上设备后,执行如下命令打开。
hdc tmode port 5555
(hdc文件在:SDK安装位置\HarmonyOS\toolchains)
在手机机,打开连接的网络,查看IP地址 (我的手机wifi地址为: 192.168.1.101) - 此时,就连接上了手机,可进行真机调试
- 在Phone/Tablet中运行应用,需要提前根据构建带签名信息的HAP包章节,打包带签名信息的HAP。
04. 在 Car中运行:
>> 在Car中运行应用,需要提前根据构建带签名信息的HAP包章节,打包带签名信息的HAP。
>> USB方式连接Car和PC
05. 在TV(智慧屏)中安装和运行
>> IP Connection 的连接方式; (PC与TV在同一个网络下)
商用发布的智慧屏产品暂不支持HarmonyOS调试功能。
>> 前提条件
- 已将TV和PC连接到同一网络或设置为同一WLAN网络。
- 已获取TV端的IP地址。
- TV上的5555端口为打开状态。
- 在TV中运行应用,需要提前根据构建带签名信息的HAP包章节,打包带签名信息的HAP。
06. 在Wearable中运行应用
>> USB方式或IP Connection 的连接方式;
>> 前提条件
- 在Wearable中,打开“开发者模式”,可在设置 >关于中,连续点击“版本号”,直到提示“您已处于开发者模式!”即可。然后在设置 >开发人员选项中,打开“HDC调试”开关。
- 在Wearable中运行应用,需要提前根据构建带签名信息的HAP包章节,打包带签名信息的HAP。
07. 在Lite Wearable 中运行应用
>> Lite Wearable的HarmonyOS应用安装,依赖华为手机上的运动健康和应用调测助手APP辅助进行。
>> 前提条件:
- 已将运动健康APP升级至最新版本。
- 从华为应用市场安装应用调测助手APP。
- 在Lite Wearable中运行应用,需要提前根据构建带签名信息的HAP包章节,打包带签名信息的HAP。
详情参考:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/run_fitnesswatch-0000001054134240
08.HarmonyOS的调试
HarmonyOS应用调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示。
>>> 关于应用签名的配置
调试应用签名的方式包括如下两种:
方式一:通过从AppGallery Connect中申请调试证书和Profile文件后,再进行签名。
方式二:通过DevEco Studio自动化签名的方式对应用进行签名。该方式相比方式一,在调试阶段更加简单和高效,本文重点介绍DevEco Studio自动化签名方案。
>>> 通过配置文件存储签名信息
由于签名配置是开发者的私有信息,DevEco Studio会对签名配置中的密码进行安全保护,但是这个保护会对提交build.gradle到代码仓中带来不便。
因此,开发者可以将签名配置信息放在一个独立的文件中,从而可以方便的将build.gradle提交到代码仓,而存放签名配置信息的文件不用提交。
>> 默认情况下,签名数据存放于 工程目录下的 build.gradle 中,
>> 转配置文件处理方法
a. 工程根目录下创建 signing-config.properties
b. 将 build.gradle中关于签名的数据拷贝到新建的 signing-config.properties 文件中 (全改成 Key=Value 的模式)
c. 对工程目录下的 build.gradle进行参数修改,将来源改为文件
>> 调试类型
调试类型的修改:Run > Edit Configurations > Debugger
>> 检查 config.json 文件属性
09. HAP包的安装方式
在调试阶段,Hap包在设备上的安装方式有2种,可以根据实际需要进行设置
- 安装方式一:先卸载应用后,再重新安装,该方式会清除设备上的所有应用缓存数据(默认安装方式)。
- 安装方式二:采用覆盖安装方式,不卸载应用,该方式会保留应用的缓存数据。
Run > Edit Configurations
10. 启动调试
调试功能
对于原子化服务,由于原子化服务在设备中没有桌面图标,可以通过如下方式在设备中运行/调试原子化服务。
- 在服务中心露出的原子化服务:
- 通过DevEco Studio的运行/调试按钮,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务;同时在服务中心的最近使用中可以看到该原子化服务的卡片。
- 通过hdc命令行工具,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务;同时在服务中心的最近使用中可以看到该原子化服务的卡片。
- 在服务中心不露出的原子化服务:
- 通过DevEco Studio的运行/调试按钮,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务。
- 通过hdc命令行工具,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务。
- 设备控制类的原子化服务,可通过碰一碰、扫一扫等方式运行。
11.可视化的变量监测
12.JS和Java跨语言调试
应用场景概述 (一般是JS开发UI,Java开发逻辑)
针对“JS FA调用Java PA”和“JS FA拉起Java FA”这两种场景,DevEco Studio提供了JS/Java跨语言的调试功能,开发者可以直接从JS代码Step Into进入到Java代码调试中。
JS/Java跨语言调试功能包括JS和Java断点的管理、调试信息的展示、单步调试等能力,方便开发者快速发现并解决JS FA调用Java PA相关代码的问题。
>>> 断点位置的调置 (JS FA是调用者,Java PA是被调用者)
JS FA调用Java PA的代码行或者在Java PA相关接口处设置断点,然后点击Step Into才能在Java或JS实现处中断
** JS FA --> Java PA
** JS FA --> Java FA
>>> 配置方式
** Debug模式:
** 断点的设置
a. JS FA 调用 Java PA的代码行设置断点,调试时,F7进入,进行Java代码的调试;
b. Java PA中设置断点,调试时,F9进行Java代码的调试
13.跨设备分布式应用调试
DevEco Studio支持一个工程(单模块或多模块)连接多个设备,在设备之间能彼此通信的条件下(如分布式流转场景),支持对跨设备、跨模块、跨进程的HarmonyOS应用进行调试。
分布式应用调试支持Java应用调用Java应用、JS应用调用Java应用,以及使用HarmonyOS IDL实现的跨设备场景,
开发者在如下表中的方法处设置断点,当中断到该断点处,执行Step Into即可进入到被调用方法的实现处。
下面以一个设备A(FA)调用设备B(PA)的分布式调用场景来介绍分布式应用调试流程,如下图所示:
>>>前提条件
调测的多个设备成功组网,包括连接到同一个WLAN网络和登录同一个华为帐号
14. HiLog日志打印
HarmonyOS提供了HiLog日志系统,让应用可以按照指定类型、指定级别、指定格式字符串输出日志内容,帮助开发者了解应用的运行状态,更好地调试程序。
输出日志的接口由HiLog类提供。在输出日志前,需要先调用HiLog的辅助类HiLogLabel定义日志标签。
>>> 日志标签的定义 : HiLogLabel(int type, int domain, String tag)
- 参数type:用于指定输出日志的类型。HiLog中当前只提供了一种日志类型,即应用日志类型LOG_APP。
- 参数domain:用于指定输出日志所对应的业务领域,取值范围为0x0~0xFFFFF,开发者可以根据需要进行自定义。
- 参数tag:用于指定日志标识,可以为任意字符串,建议标识调用所在的类或者业务行为。
>>> 日志输出
>>> 日志Demo
在 Slice 目录下,配置相应的 Java代码
15. HiTrace 日志跟踪定位分析
在HarmonyOS跨设备分布式应用的问题定位过程中,由于跨设备之间的调用关系复杂,导致问题定位困难。
DevEco Studio提供了HiTrace日志跟踪的能力,可以分析和梳理跨设备分布式应用之间的调用关系,通过分析调用链,方便开发者定位调用异常、性能瓶颈等问题。
>> 前提条件
调测的多个设备成功组网,包括连接到同一个WLAN网络和登录同一个华为帐号。
>> HiTrace使用
a. 在要跟踪的调用链前后使用 HiTrace类的相应接口
HiTraceId traceId = HiTrace.begin("MyServiceName", HiTrace.HITRACE_FLAG_INCLUDE_ASYNC | HiTrace.HITRACE_FLAG_TP_INFO); ...... HiTrace.end(traceId);
b. 运行应用
c.IDE底部,Profiler打开 HiTrace 工具, 并点击 Record按钮,开始收集 HiTrace 日志信息;
d.在设备上操作应用,
e.点击Stop,停止 HiTrace日志信息的收集;
停止以后,会展示相应的时序图,可依据实际情况进行分析
标签:Java,HMS07,JS,原子化,HiLog,签名,应用,DeBug,调试 来源: https://www.cnblogs.com/jieling/p/15413532.html