目录

应用场景概述

JS FA调用Java PA场景

操作步骤


应用场景概述

针对“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场景

在HarmonyOS应用/服务开发中,通常会涉及到使用JS和Java语言同时开发的场景,一般使用JS来开发应用/服务的UI,使用Java开发应用/服务的逻辑,JS FA调用Java PA,具体请参考JS FA调用Java PA的机制介绍

说明

暂不支持JS FA异步调用Java PA场景的跨语言调试。

在使用JS/Java跨语言调试设置断点时需注意,JS FA是调用者,Java PA是被调用者,需要在JS FA调用Java PA的代码行或者在Java PA相关接口处设置断点,然后单击Step Into才能在Java或JS实现处中断。JS FA拉起Java FA场景

在分布式拉起场景中,允许JS FA拉起一个本地或远程的Java FA,在使用JS/Java跨语言调试设置断点时需注意,JS FA是拉起方,Java FA是被拉起方,需要在JS FA调用Java PA的代码行或者在Java PA相关接口处设置断点,才能正常进入Java断点。

  • JS FA端提供了如下接口:
    • 拉起一个远程或本地的FA,无回调结果。
    • 拉起一个本地的FA,并在回调中等待被拉起FA的结果返回。
  • Java FA端提供了onStart(Intent intent) 
    接口,拉起Java端FA。

操作步骤

JS/Java跨语言调试的操作方法如下:

  1. 在菜单栏单击Run > Edit Configurations,选择HarmonyOS APP下的模块名(如entry),然后在右侧窗口中选择“Debugger”。

    HarmonyOS 鸿蒙开发DevEco Studio:JS和Java跨语言调试-LMLPHP

  2. 检查和设置“Debug type”,请选择Dual(Js+Java)或者Detect Automatically选项。
  3. 在JS FA调用Java PA处或者在Java PA的相关代码处设置断点。
  4. 单击

    HarmonyOS 鸿蒙开发DevEco Studio:JS和Java跨语言调试-LMLPHP

    按钮或者快捷键Shift+F9,启动调试
    • 如果在JS FA调用Java PA代码行处设置断点:进入断点后,单击Step Into,快捷键为F7(macOS为F7),进入Java PA函数体,然后进行Java PA的调试。

      HarmonyOS 鸿蒙开发DevEco Studio:JS和Java跨语言调试-LMLPHP

    • 如果在Java PA相关代码行处设置断点:进入断点后,单击Resume Program,快捷键为F9(macOS为Option+Command+R),开始Java PA的调试。

      HarmonyOS 鸿蒙开发DevEco Studio:JS和Java跨语言调试-LMLPHP

01-22 03:10