其他分享
首页 > 其他分享> > HMS07.应用的运行、DeBug、HiLog、HiTrace

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连接方式  

04. 在 Car中运行:   

  >> 在Car中运行应用,需要提前根据构建带签名信息的HAP包章节,打包带签名信息的HAP。
  >> USB方式连接Car和PC

05. 在TV(智慧屏)中安装和运行
  >> IP Connection 的连接方式; (PC与TV在同一个网络下)
    商用发布的智慧屏产品暂不支持HarmonyOS调试功能。

  >> 前提条件   

06. 在Wearable中运行应用

  >> USB方式或IP Connection 的连接方式; 

  >> 前提条件

07. 在Lite Wearable 中运行应用

  >> Lite Wearable的HarmonyOS应用安装,依赖华为手机上的运动健康和应用调测助手APP辅助进行。
  >> 前提条件: 

  详情参考: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. 启动调试

  

 

   调试功能

  

 

   对于原子化服务,由于原子化服务在设备中没有桌面图标,可以通过如下方式在设备中运行/调试原子化服务。

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)      

  >>> 日志输出

    

 

 

   >>> 日志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