OpenHarmony工程在HarmonyOS上运行

举报
坚果的博客 发表于 2022/10/22 15:53:27 2022/10/22
【摘要】 今天在群里看到一个问题,OpenHarmony工程能在HarmonyOS真机上运行吗?说实话,我还真没试过,但是我们也应该做一个尝试不是。前提条件有一台鸿蒙手机,HarmonyOS3,创建的是API8及以下的应用。我们创建的是API8的应用。我们都知道HarmonyOS应用/服务调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名。而OpenHarmony则只需自动签名就好...

今天在群里看到一个问题,OpenHarmony工程能在HarmonyOS真机上运行吗?

说实话,我还真没试过,但是我们也应该做一个尝试不是。

前提条件

有一台鸿蒙手机,HarmonyOS3,创建的是API8及以下的应用。


我们创建的是API8的应用。


我们都知道HarmonyOS应用/服务调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名。而OpenHarmony则只需自动签名就好了。详细的调试流程如下图所示:

img

了解了真机设备的调试流程之后,我们就开始今天的验证。

配置签名信息

针对原子化服务和应用的签名,DevEco Studio为开发者提供了自动化签名方案,帮助开发者高效进行调试。也可选择手动方式对应用/服务进行签名。

  1. 连接真机设备,确保DevEco Studio与真机设备已连接,真机连接成功后如下图所示:

    img

  2. 进入File > Project Structure > Project > Signing Configs界面,勾选“Automatically generate signature”(如果是API8工程,需同时勾选“SupportHarmonyOS”),即可完成签名。如果未登录,请先单击Sign In进行登录,然后自动完成签名。


img

签名完成后,如下图所示:

img

设置调试代码类型

API Version 8的工程调试类型默认为Js Only,支持调试eTS和JS代码。如果需要调试C/C++代码,请将调试器的调试类型选择Native Only。大家可以根据下表来判断。

关于各调试类型的说明如下表所示:

调试类型 调试代码
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++调试配置。

点击放大

设置HAP包安装方式


在调试阶段,HAP包在设备上的安装方式有2种,可以根据实际需要进行设置。

  • 安装方式一:先卸载应用/服务后,再重新安装,该方式会清除设备上的所有应用/服务缓存数据(默认安装方式)。

  • 安装方式二:采用覆盖安装方式,不卸载应用/服务,该方式会保留应用/服务的缓存数据。

设置方法如下:

单击Run > Edit Configurations,设置指定模块的HAP包安装方式,勾选“Keep Application Data”,则表示采用覆盖安装方式,保留应用/服务缓存数据。

点击放大

如果一个工程中同一个设备存在多个模块(如Phone设备,存在entry和feature模块),且存在模块间的调用时,在调试阶段需要同时安装多个模块的hap包到设备中。此时,需要在待调试模块的设置项中勾选“Deploy Multi Hap Packages”。例如entry模块调用feature模块,在调试entry模块时,需要同时安装feature模块,应该在entry模块的调试设置项中勾选“Deploy Multi Hap Packages”后再启动调试。

点击放大


启动调试


  1. 在工具栏中,选择调试的设备,并单击Debug imgAttach Debugger to Processimg启动调试。

img


接下来就可以调试 了。完美。






【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。