赞
踩
【本文正在参与“有奖征文 | HarmonyOS征文大赛”活动】
DevEco Studio集成开发环境下载,网址如下,因为要开发HarmonyOS应用,选择2.0进行下载下
https://developer.huawei.com/consumer/cn/deveco_studio
下载完毕后,运行安装程序,一路下一步知道安装完成,选择立即重启,重启后运行
DevEco Studio 2.1.0.501 x64
选择一个位置安装SDK
下一步
等待下载
然后漫长的等待
安装好后新建一个工程,由于华为集成开发环境自带只有手表和相机的模拟器,所以新建Lite工程
运行
使用HarmonyOS系统手机作为调试器,华为官方例程
DevEco Studio提供了丰富的HarmonyOS应用调试能力,支持Java、JS、C/C++单语言调试和JS+Java、Java+C/C++跨语言调试能力,同时还支持分布式应用的跨设备调试,帮助开发者更方便、高效的调试应用。
HarmonyOS应用调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示。
调试应用签名的方式包括如下两种:
通过DevEco Studio自动化签名的方式更加简单和高效,因此推荐开发者使用自动化签名。关于AppGallery Connect中申请调测证书和Profile的方式,可以参考申请发布证书和Profile文件流程。
说明
如果是非实名认证用户,需要先接受“HUAWEI Developer Basic Service Agreement”协议。
设置完签名信息后,点击OK进行保存,然后可以在工程下的build.gradle中查看签名的配置信息。
(可选)由于签名配置是开发者的私有信息,DevEco Studio会对签名配置中的密码进行安全保护,但是这个保护会对提交build.gradle到代码仓中带来不便。因此,开发者可以将签名配置信息放在一个独立的文件中,从而可以方便的将build.gradle提交到代码仓,而存放签名配置信息的文件不用提交。
调试类型默认情况下为Detect Automatically,支持Java、JS、C/C++、JS+Java、Java+C/C++工程的调试。只有在JS+Java混合工程中,如果需要单独调试Java代码,这种情况下需要手动修改Debug Type为“Java”。
关于各调试类型的说明如下表所示。
调试类型 | 调试代码 |
---|---|
Java Only | 仅调试Java代码 |
Js Only | 仅调试JavaScript代码 |
Native Only | 仅调试C/C++代码 |
Dual(Js + Java) | 调试JS FA调用Java PA场景的JS和Java代码 |
Dual(Java + Native) | 调试C/C++工程的Java和C/C++代码 |
Detect Automatically | 新建工程默认调试器选项,根据调试的工程类型,自动启动对应的调试器。 说明 JS+Java混合工程中,如果需要单独调试Java代码,这种情况下需要手动修改Debug Type为“Java”。 |
修改调试类型的方法如下。
点击Run > Edit Configurations > Debugger,在HarmonyOS App中,选择相应模块, 可以进行Java/JS/C++调试配置。
在启动Feature模块的调试前,请检查Feature模块下的config.json文件的abilities数组是否存在“visible”属性,如果不存在,请手动添加,否则Feature模块的调试无法进入断点。Entry模块的调试不需要做该检查。
说明
如果Feature模块手动添加了“visible”属性为true,表示该模块可以被其它的应用所调用。如果您不允许该模块被其它应用调用,请在调试完成后手动删除visible属性。
在调试阶段,Hap包在设备上的安装方式有2种,您可以根据实际需要进行设置
设置方法如下:
点击Run > Edit Configurations,设置指定模块的Hap包安装方式,勾选 ”Replace existing application”,则表示采用覆盖安装方式,保留应用缓存数据。
如果一个工程中同一个设备存在多个模块(如Phone设备,存在entry和feature模块),且存在模块间的调用时,在调试阶段需要同时安装多个模块的hap包到设备中。此时,需要在待调试模块的设置项中勾选“Deploy Multi Hap Package”。例如entry模块调用feature模块,在调试entry模块时,需要同时安装feature模块,您应该在entry模块的调试设置项中勾选“Deploy Multi Hap Package”后再启动调试。
说明
Debug和Attach Debugger的区别在于,Attach Debugger to Process可以先运行应用,然后再启动调试,或者直接启动设备上已安装的应用进行调试;而Debug是直接运行应用后立即启动调试。目前JS代码不支持Attach Debugger to Process调试。
设置断点后,调试能够在正确的断点处中断,并高亮显示该行。
按钮 | 名称 | 快捷键 | 功能 |
---|---|---|---|
Resume Program | F9(Mac为Option+Command+R) | 当程序执行到断点时停止执行,点击此按钮程序继续执行。 | |
Step Over | F8(Mac为F8) | 在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。 | |
Step Into | F7(Mac为F7) | 在单步调试时,遇到子函数后,进入子函数并继续单步执行。 | |
Force Step Into | Alt+Shift+F7(Mac为Option+Shift+F7) | 在单步调试时,强制下一步。 | |
Step Out | Shift+F8(Mac为Shift+F8) | 在单步调试执行到子函数内时,点击Step Out会执行完子函数剩余部分,并跳出返回到上一层函数。 | |
Stop | Ctrl+F2(Mac为Command+F2) | 停止调试任务。 | |
Run To Cursor | Alt+F9(Mac为Option+F9) | 断点执行到鼠标停留处。 |
对于原子化服务,由于原子化服务在设备中没有桌面图标,可以通过如下方式在设备中运行/调试原子化服务。
在设置的程序断点红点处,点击鼠标右键,然后点击More或按快捷键Ctrl+Shift+F8(Mac为Shift+Command+F8),可以管理断点。
代码类型 | 断点管理 |
---|---|
JS(JavaScript) | 普通行断点 |
Java |
|
C/C++ |
|
【本文正在参与“有奖征文 | HarmonyOS征文大赛”活动】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。