CN116166491B - 用于调试移动终端的方法、装置、系统、电子设备及介质 - Google Patents

用于调试移动终端的方法、装置、系统、电子设备及介质 Download PDF

Info

Publication number
CN116166491B
CN116166491B CN202310441887.7A CN202310441887A CN116166491B CN 116166491 B CN116166491 B CN 116166491B CN 202310441887 A CN202310441887 A CN 202310441887A CN 116166491 B CN116166491 B CN 116166491B
Authority
CN
China
Prior art keywords
debugging
mobile terminal
hardware
proxy service
target module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310441887.7A
Other languages
English (en)
Other versions
CN116166491A (zh
Inventor
施伟周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Unigroup Tsingteng Microsystems Co Ltd
Original Assignee
Beijing Unigroup Tsingteng Microsystems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Unigroup Tsingteng Microsystems Co Ltd filed Critical Beijing Unigroup Tsingteng Microsystems Co Ltd
Priority to CN202310441887.7A priority Critical patent/CN116166491B/zh
Publication of CN116166491A publication Critical patent/CN116166491A/zh
Application granted granted Critical
Publication of CN116166491B publication Critical patent/CN116166491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及移动终端技术领域,公开一种用于调试移动终端的方法,包括:接收上位机发送的至少一个调试指令;利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试。由于代理服务注入在内核层与硬件抽象层之间,直接与目标模块组件交互,使调试指令以最短的链路发送到目标模块组件,减少调试指令经过应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令限制和耗时,从而能快速及覆盖更全面的对目标模块组件的调试。本申请还公开一种用于调试移动终端的装置、系统、电子设备及存储介质。

Description

用于调试移动终端的方法、装置、系统、电子设备及介质
技术领域
本申请涉及移动终端技术领域,例如涉及一种用于调试移动终端的方法、装置、系统、电子设备及存储介质。
背景技术
随着移动终端的功能越来越丰富、多样化、个人化,移动终端不仅可以通信、娱乐、定位、支付、信息处理、指纹识别、身份识别。移动终端已经广泛融入到我们的经济和生活中,提升了工作效率。正是因为移动终端上集成了许多与这些功能对应的硬件模块及组件,使得用户在使用移动终端设备上能够获得更丰富的功能和更好的使用体验。所以确保移动终端上硬件模块及组件的稳定性、兼容性、功耗等就显得尤其重要。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有技术通常经由最上层的应用程序对移动终端上的硬件模块及组件进行调试,这样将导致对硬件模块及组件的调试覆盖不全,达不到预期性能测试要求。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于调试移动终端的方法、装置、系统、电子设备及存储介质,以能够对硬件模块、硬件模块对应的抽象组件、硬件模块对应的驱动组件调试覆盖更全,从而达到满足预期的性能测试要求。
在一些实施例中,所述用于调试移动终端的方法,应用于移动终端侧,所述移动终端包括硬件抽象层、内核层、至少一个硬件模块设以及置在硬件抽象层和内核层之间的代理服务,硬件抽象层包括各硬件模块分别对应的抽象组件;内核层包括各硬件模块分别对应的驱动组件;所述方法包括:接收上位机发送的至少一个调试指令;利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试,其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种。
在一些实施例中,利用代理服务将调试指令发送给目标模块组件之后,还包括:利用代理服务将调试数据发送至上位机;其中,调试数据为目标模块组件对调试指令作出的响应。
在一些实施例中,所述用于调试移动终端的方法,应用于上位机侧,所述方法包括:对移动终端进行检测;其中,移动终端包括硬件抽象层、内核层、至少一个硬件模块以及设置在硬件抽象层和内核层之间的代理服务;硬件抽象层包括各硬件模块分别对应的抽象组件;内核层包括各硬件模块分别对应的驱动组件;该方法包括:在检测到移动终端的情况下,发送至少一个调试指令到代理服务;触发代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试;其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种。
在一些实施例中,上位机内部署有上位机调试软件,发送调试指令给移动终端的代理服务,包括:在上位机调试软件与代理服务之间建立用于数据传输的传输链路;通过传输链路发送调试指令给代理服务。
在一些实施例中,在上位机调试软件与代理服务之间建立用于数据传输的传输链路,包括:利用安卓调试桥ADB桥接上位机调试软件和代理服务。
在一些实施例中,在上位机调试软件与代理服务之间建立用于数据传输的传输链路,包括:利用套接字Socket连接上位机调试软件和代理服务。
在一些实施例中,触发代理服务将调试指令路由至目标模块组件之后,还包括:接收代理服务返回的调试数据;其中,调试数据为目标模块组件对调试指令作出的响应;将调试数据进行按目标模块组件分类,进行可视化界面的显示、统计、分析、形成报告。
在一些实施例中,移动终端包括硬件抽象层、内核层、至少一个硬件模块以及设置在硬件抽象层与内核层之间的代理服务,其中,硬件抽象层包括各硬件模块分别对应的抽象组件;内核层包括各硬件模块分别对应的驱动组件;所述用于调试移动终端的系统,包括:上位机,与移动终端连接,上位机用于对移动终端进行检测,并在检测到移动终端的情况下,发送至少一个调试指令到移动终端;移动终端,被配置为利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试,其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种。
在一些实施例中,所述用于调试移动终端的装置,包括第一处理器和存储有程序指令的第一存储器,第一处理器被配置为在运行所述程序指令时,执行上述的用于调试移动终端的方法。
在一些实施例中,所述用于调试移动终端的装置,包括第二处理器和存储有程序指令的第二存储器,第二处理器被配置为在运行所述程序指令时,执行上述的用于调试移动终端的方法。
在一些实施例中,所述电子设备,包括:电子设备本体;如上述的用于调试移动终端的装置,被安装于电子设备本体。
在一些实施例中,所述存储介质,存储有程序指令,所述程序指令在运行时,执行如上述的用于调试移动终端的方法。
本公开实施例提供的用于调试移动终端的方法、装置、系统、电子设备及存储介质,可以实现以下技术效果:通过利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试。由于代理服务注入在内核层与硬件抽象层之间,使得代理服务能够直接与目标模块组件交互,从而使调试指令以最短的链路发送到目标模块组件,减少调试指令经过应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令限制和耗时,从而能快速且更全面的覆盖对目标模块组件的调试。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的第一个用于调试移动终端的方法的示意图;
图2是本公开实施例提供的第二个用于调试移动终端的方法的示意图;
图3是本公开实施例提供的第三个用于调试移动终端的方法的示意图;
图4是本公开实施例提供的一个用于调试移动终端的系统的结构示意图;
图5是本公开实施例提供的一个用于调试移动终端的装置的示意图;
图6是本公开实施例提供的另一个用于调试移动终端的装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
结合图1所示,本公开实施例提供一种用于调试移动终端的方法,应用于移动终端侧,移动终端包括HAL(Hardware Abstraction Layer,硬件抽象)层、内核层、至少一个硬件模块以及设置在HAL层和内核层之间的代理服务,HAL层包括各硬件模块分别对应的HAL组件。内核层包括各硬件模块分别对应的驱动组件。该方法包括:
步骤S101,移动终端接收上位机发送的至少一个调试指令。
步骤S102,移动终端利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试,其中,目标模块组件包括硬件模块、硬件模块对应的HAL组件和硬件模块对应的驱动组件中的一种或多种。
采用本公开实施例提供的用于调试移动终端的方法,通过利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试。由于代理服务注入在内核层与HAL层之间,直接与目标模块组件交互,使调试指令能够以最短的链路发送到目标模块组件,减少调试指令及响应经过应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令限制和耗时,从而能快速及覆盖更全面的对目标模块组件的调试。
在一些实施例中,调试指令中携带目标模块组件ID(Identity document,身份标识号)。代理服务根据此ID将调试指令路由到指定的目标模块组件。
在一些实施例中,在目标模块组件包括硬件模块对应的HAL组件的情况下,代理服务直接将调试指令路由到硬件模块对应的HAL组件。在目标模块组件包括硬件模块对应的驱动组件的情况下,代理服务直接将调试指令路由到硬件模块对应的驱动。在目标模块组件包括硬件模块的情况下,代理服务将调试指令路由给硬件模块对应的驱动,再经由该硬件模块对应的驱动将调试指令发送给硬件模块。
可选地,利用代理服务将调试指令发送给目标模块组件之后,还包括:利用代理服务将调试数据发送至上位机;其中,调试数据为目标模块组件对调试指令作出的响应。由于代理服务注入在内核层与HAL层之间,直接与目标模块组件交互,这样使得目标模块组件对调试指令的响应能够以最短链路经过代理服务返回给上位机,避免应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令对调试数据的限制和耗时,从而能更快速获得更全面的调试数据。
结合图2所示,本公开实施例提供一种用于调试移动终端的方法,应用于上位机侧,该方法包括:
步骤S201,上位机对移动终端进行检测。其中,移动终端包括HAL层、内核层、设置在HAL层和内核层之间的代理服务以及至少一个硬件模块。HAL层包括各硬件模块分别对应的HAL。内核层包括各硬件模块分别对应的驱动。
步骤S202,在检测到移动终端的情况下,上位机发送至少一个调试指令到代理服务。触发代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试。其中,目标模块组件包括硬件模块、硬件模块对应的HAL和硬件模块对应的驱动中的一种或多种。
采用本公开实施例提供的用于调试移动终端的方法,通过触发代理服务将调试指令路由至目标模块组件,从而对目标模块组件进行调试。由于代理服务注入在内核层与HAL层之间,直接与目标模块组件交互,使调试指令以最短的链路发送到目标模块组件,不会经过应用程序层、应用程序框架层以及安卓系统服务层。这样避免了应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令对调试指令的限制,从而能够更快速及覆盖更全面的对目标模块组件的调试。
在一些实施例中,上位机通过脚本的形式发送调试指令给移动终端,其中,脚本中包括至少一个调试指令。
可选地,上位机内部署有上位机调试软件,发送调试指令给移动终端的代理服务,包括:在上位机调试软件与代理服务之间建立用于数据传输的传输链路。上位机调试软件通过传输链路发送调试指令给代理服务。
可选地,在上位机调试软件与代理服务之间建立用于数据传输的传输链路,包括:利用ADB(Android Debug Bridge,安卓调试桥)桥接上位机调试软件和代理服务。
可选地,对移动终端进行检测,包括:利用ADB检测是否存在移动终端连接上位机。
在一些实施例中,上位机调试软件在启动之后,自动利用ADB检测是否存在移动终端连接上位机。
在一些实施例中,移动终端和上位机之间通过WIFI(Wireless Fidelity,无线局域网)连接。或移动终端和上位机之间通过USB(Universal Serial Bus,通用串行总线)连接。由于移动终端和上位机之间通过WIFI连接需要依赖于WIFI模块,这样在需要对WIFI模块进行调试的情况下,可能导致移动终端和上位机之间断开连接,从而导致调试失败。而USB连接是基于实线连接。这样使得移动终端的调试过程不会受到WIFI模块的限制,从而便于对移动终端进行调试。
可选地,在上位机调试软件与代理服务之间建立用于数据传输的传输链路,包括:利用WIFI Socket连接上位机调试软件和代理服务。
进一步地,利用WIFI Socket连接上位机调试软件和代理服务之前,还包括:通过WIFI连接移动终端和上位机。
可选地,在上位机调试软件与代理服务之间建立用于数据传输的传输链路之后,还包括:发送启动指令给代理服务,触发代理服务启动。其中,代理服务会在移动终端启动时进行初始化。
在一些实施例中,启动上位机调试软件,此时上位机调试软件会进行初始化,然后利用ADB检测是否有移动终端连接到上位机。在存在移动终端连接上位机的情况下,通过ADB桥接上位机调试软件和代理服务。这样就建立了上位机调试软件和代理服务之间的传输链路。使得上位机调试软件能够通过传输链路发送调试指令,同时由于代理服务设置在HAL层和内核层之间,这样使得调试指令不会经过应用程序层、应用程序框架层以及安卓系统服务层,而会直接到达调试指令对应的模块组件。进而能够更快速的对目标模块组件进行调试。
可选地,触发代理服务将调试指令路由至目标模块组件之后,还包括:接收代理服务返回的调试数据。其中,调试数据为目标模块组件对调试指令作出的响应。展示调试数据。
在一些实施例中,展示调试数据,包括:将调试数据以可视化界面呈现。这样,使得用户能够直观清晰的得知调试结果。
在一些实施例中,代理服务将调试数据返回到上位机调试软件。上位机调试软件在接收到代理服务返回的调试数据的情况下,按目标模块组件对调试数据进行分类,并进行可视化界面的显示、统计、分析、形成报告。
在一些实施例中,将属于目标模块组件A的调试数据归为一类,将数据目标模块组件B的调试数据归为一类。这样,按目标模块组件对调试数据进行分类,使得用户能够直观的得知某个目标模块组件的被调试次数,以及目标模块组件发生故障的几率。
在一些实施例中,调试数据包括调试的功能,对同类调试数据进行可视化界面的统计,包括:对调试的功能进行统计。这样以便于用户能够直观得知对目标模块组件进行了怎样的调试。
结合图3所示,本公开实施例提供一种用于调试移动终端的方法,应用于上位机侧,该方法包括:
步骤S301,上位机对移动终端进行检测。其中,移动终端包括HAL层、内核层、设置在HAL层和内核层之间的代理服务以及至少一个硬件模块。硬件抽象层包括各硬件模块分别对应的抽象组件。内核层包括各硬件模块分别对应的驱动组件。
步骤S302,在检测到移动终端并连接到代理服务的情况下,上位机发送至少一个调试指令代理服务。触发代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试。其中,目标模块组件包括硬件模块、硬件模块对应的HAL和硬件模块对应的驱动中的一种或多种。
步骤S303,上位机接收代理服务返回的调试数据。其中,调试数据为目标模块组件对调试指令作出的响应。
步骤S304,上位机按目标模块组件对调试数据进行分类,并进行可视化界面的显示、统计、分析、形成报告。
采用本公开实施例提供的用于调试移动终端的方法,通过触发代理服务将调试指令路由至目标模块组件,从而对目标模块组件进行调试。由于代理服务注入在内核层与HAL层之间,直接与目标模块组件交互,使调试指令以最短的链路发送到目标模块组件,并且将目标模块组件对调试指令的响应以最短链路经过代理服务返回给上位机,减少调试指令及响应经过应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令限制和耗时,从而能快速及覆盖更全面的对目标模块组件的调试。
结合图4所示,本公开实施例提供一种用于调试移动终端的系统,包括上位机400和移动终端500。上位机400与移动终端500连接。上位机400用于对移动终端500进行检测,并在检测到移动终端500的情况下,发送至少一个调试指令。移动终端500在接收到上位机400发送的调试指令的情况下,利用代理服务将调试指令路由至目标模块组件,对目标模块组件进行调试。其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种。
采用本公开实施例提供的用于调试移动终端的系统,通过利用代理服务将调试指令路由至目标模块组件,从而对目标模块组件进行调试。由于代理服务设置在HAL层和内核层之间,这样使得调试指令不会经过应用程序层、应用程序框架层以及安卓系统服务层,从而能够更快速的对目标模块组件进行调试。并且使得发送调试指令的过程也不会受到应用程序层、应用程序框架层以及安卓系统服务层的限制,从而能够更便捷的对目标模块组件进行调试。同时,通过调试数据进行可视化界面显示,使得用户能够直观清晰的得知调试结果。
进一步地,上位机400内设置有上位机调试软件401。移动终端500包括应用程序层501、应用程序框架层502、安卓系统服务层503、硬件抽象层504、代理服务505、内核层506和硬件模块层507。应用程序层501与应用程序框架层502连接。应用程序框架层502和安卓系统服务层503连接。安卓系统服务层503与HAL层504连接。HAL层504与代理服务505连接。代理服务505分别与上位机调试软件401和内核层506连接。内核层506和硬件模块507连接。应用程序层Application包括至少一个应用程序,应用程序例如为微信、淘宝等。应用程序框架层Application Framework用于为开发人员提供开发应用程序所需要的API(Application Programming Interface,应用程序接口)。安卓系统服务层Android SystemService用于提供系统管理服务,例如:进行窗口相关的操作会用到窗口管理服务WindowManager,进行电源相关的操作会用到电源管理服务PowerManager。HAL层用于将硬件模块抽象化,包括各种硬件模块分别对应的HAL组件,例如:NFC(Near FieldCommunication,近场通信)芯片对应的NFC HAL、SE(Secure Element,安全芯片)对应的SEHAL、UWB芯片(Ultra Wide Band,超宽带通信)对应的UWB HAL、WIFI芯片对应的WIFI HAL、BLE芯片(Bluetooth Low Energy,低功耗蓝牙)对应的BLE HAL。内核层为各种硬件模块提供底层的驱动Driver,有各种硬件模块对应的驱动,例如:NFC芯片对应的NFC Driver、SE芯片对应的SE Driver、UWB 芯片对应的UWB Driver、WIFI芯片对应的WIFI Driver、BLE芯片对应的BLE Driver。硬件模块Hardware Module包括但不限于NFC芯片、SE芯片、UWB芯片、WIFI芯片、BLE芯片。其中,移动终端为安卓移动终端。由于安卓移动终端为开源的移动终端,这样用户能够对安卓移动终端的架构进行改造,即在安卓移动终端的HAL层和安卓移动终端的内核层之间注入一个代理服务。
结合图5所示,本公开实施例提供一种用于调试移动终端的装置600,包括第一处理器(processor)601和第一存储器(memory)602。可选地,该装置还可以包括第一通信接口(Communication Interface)603和第一总线604。其中,第一处理器601、第一通信接口603、第一存储器602可以通过第一总线604完成相互间的通信。第一通信接口603可以用于信息传输。第一处理器601可以调用第一存储器602中的逻辑指令,以执行上述实施例的用于调试移动终端的方法。
采用本公开实施例提供的用于调试移动终端的装置,通过触发代理服务将调试指令路由至目标模块组件,从而对目标模块组件进行调试。由于代理服务注入在内核层与HAL层之间,直接与目标模块组件交互,使调试指令以最短的链路发送到目标模块组件,并且将目标模块组件对调试指令的响应以最短链路经过代理服务返回给上位机,减少调试指令及响应经过应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令限制和耗时,从而能快速及覆盖更全面的对目标模块组件的调试。
此外,上述的第一存储器602中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
第一存储器602作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。第一处理器601通过运行存储在第一存储器602中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于调试移动终端的方法。
第一存储器602可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,第一存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器。
结合图6所示,本公开实施例提供一种用于调试移动终端的装置700,包括第二处理器(processor)701和第二存储器(memory)702。可选地,该装置还可以包括第二通信接口(Communication Interface)703和第二总线704。其中,第二处理器701、第二通信接口703、第二存储器702可以通过第二总线704完成相互间的通信。第二通信接口703可以用于信息传输。第二处理器701可以调用存储器702中的逻辑指令,以执行上述实施例的用于调试移动终端的方法。
采用本公开实施例提供的用于调试移动终端的装置,通过触发代理服务将调试指令路由至目标模块组件,从而对目标模块组件进行调试。由于代理服务注入在内核层与HAL层之间,直接与目标模块组件交互,使调试指令以最短的链路发送到目标模块组件,并且将目标模块组件对调试指令的响应以最短链路经过代理服务返回给上位机,减少调试指令及响应经过应用程序层、应用程序框架层以及安卓系统服务层的功能、接口、指令限制和耗时,从而能快速及覆盖更全面的对目标模块组件的调试。
此外,上述的第二存储器702中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
第二存储器702作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。第二处理器701通过运行存储在第二存储器702中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于调试移动终端的方法。
第二存储器702可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,第二存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种电子设备,包括:电子设备本体,以及上述的用于调试移动终端的装置。用于调试移动终端的装置被安装于电子设备本体。这里所表述的安装关系,并不仅限于在电子设备内部放置,还包括了与电子设备的其他元器件的安装连接,包括但不限于物理连接、电性连接或者信号传输连接等。本领域技术人员可以理解的是,用于调试移动终端的装置可以适配于可行的电子设备主体,进而实现其他可行的实施例。
在一些实施例中,在电子设备包括第一存储器和第一处理器的情况下,电子设备例如为移动终端。
在一些实施例中,在电子设备包括第二存储器和第二处理器的情况下,电子设备例如为上位机。
本公开实施例提供了一种存储介质,存储有程序指令,所述程序指令在运行时,执行上述的用于调试移动终端的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (12)

1.一种用于调试移动终端的方法,其特征在于,应用于移动终端侧,所述移动终端包括硬件抽象层、内核层、至少一个硬件模块以及设置在硬件抽象层与内核层之间的代理服务,硬件抽象层包括各硬件模块分别对应的抽象组件;内核层包括各硬件模块分别对应的驱动组件;所述方法包括:
接收上位机发送的至少一个调试指令;
利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试,其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种;
在目标模块组件包括硬件模块的情况下,利用代理服务将调试指令路由至目标模块组件,包括:利用代理服务将调试指令路由给硬件模块对应的驱动,触发该硬件模块对应的驱动将调试指令发送给硬件模块。
2.根据权利要求1所述的方法,其特征在于,利用代理服务将调试指令发送给目标模块组件之后,还包括:
利用代理服务将调试数据发送至上位机;其中,调试数据为目标模块组件响应调试指令的数据。
3.一种用于调试移动终端的方法,其特征在于,应用于上位机侧,所述方法包括:
对移动终端进行检测;其中,移动终端包括硬件抽象层、内核层、至少一个硬件模块以及设置在硬件抽象层和内核层之间的代理服务;硬件抽象层包括各硬件模块分别对应的抽象组件;内核层包括各硬件模块分别对应的驱动组件;
在检测到移动终端的情况下,发送至少一个调试指令到代理服务;
触发代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试;其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种;
在目标模块组件包括硬件模块的情况下,触发代理服务将调试指令路由至目标模块组件,包括:触发代理服务将调试指令路由给硬件模块对应的驱动,触发该硬件模块对应的驱动将调试指令发送给硬件模块。
4.根据权利要求3所述的方法,其特征在于,上位机内部署有上位机调试软件,发送调试指令给移动终端的代理服务,包括:
在上位机调试软件与代理服务之间建立用于数据传输的传输链路;
通过传输链路发送调试指令给代理服务。
5.根据权利要求4所述的方法,其特征在于,在上位机调试软件与代理服务之间建立用于数据传输的传输链路,包括:
利用安卓调试桥ADB桥接上位机调试软件和代理服务。
6.根据权利要求4所述的方法,其特征在于,在上位机调试软件与代理服务之间建立用于数据传输的传输链路,包括:
利用套接字Socket连接上位机调试软件和代理服务。
7.根据权利要求3至6任一项所述的方法,其特征在于,触发代理服务将调试指令路由至目标模块组件之后,还包括:
接收代理服务返回的调试数据;其中,调试数据为目标模块组件对调试指令作出的响应;
展示调试数据。
8.一种用于调试移动终端的系统,其特征在于,移动终端包括硬件抽象层、内核层、至少一个硬件模块以及设置在硬件抽象层与内核层之间的代理服务,其中,硬件抽象层包括各硬件模块分别对应的抽象组件;内核层包括各硬件模块分别对应的驱动组件;所述系统包括:
上位机,与移动终端连接;上位机用于对移动终端进行检测,并在检测到移动终端的情况下,发送至少一个调试指令;
移动终端,被配置为利用代理服务将调试指令路由至目标模块组件,以对目标模块组件进行调试,其中,目标模块组件包括硬件模块、硬件模块对应的抽象组件和硬件模块对应的驱动组件中的一种或多种;
在目标模块组件包括硬件模块的情况下,利用代理服务将调试指令路由至目标模块组件,包括:利用代理服务将调试指令路由给硬件模块对应的驱动,触发该硬件模块对应的驱动将调试指令发送给硬件模块。
9.一种用于调试移动终端的装置,包括第一处理器和存储有程序指令的第一存储器,其特征在于,第一处理器被配置为在运行所述程序指令时,执行如权利要求1或2所述的用于调试移动终端的方法。
10.一种用于调试移动终端的装置,包括第二处理器和存储有程序指令的第二存储器,其特征在于,第二处理器被配置为在运行所述程序指令时,执行如权利要求3至7任一项所述的用于调试移动终端的方法。
11.一种电子设备,其特征在于,包括:
电子设备本体;
如权利要求9或10所述的用于调试移动终端的装置,被安装于电子设备本体。
12.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至7任一项所述的用于调试移动终端的方法。
CN202310441887.7A 2023-04-23 2023-04-23 用于调试移动终端的方法、装置、系统、电子设备及介质 Active CN116166491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310441887.7A CN116166491B (zh) 2023-04-23 2023-04-23 用于调试移动终端的方法、装置、系统、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310441887.7A CN116166491B (zh) 2023-04-23 2023-04-23 用于调试移动终端的方法、装置、系统、电子设备及介质

Publications (2)

Publication Number Publication Date
CN116166491A CN116166491A (zh) 2023-05-26
CN116166491B true CN116166491B (zh) 2023-07-25

Family

ID=86422255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310441887.7A Active CN116166491B (zh) 2023-04-23 2023-04-23 用于调试移动终端的方法、装置、系统、电子设备及介质

Country Status (1)

Country Link
CN (1) CN116166491B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150128256A (ko) * 2014-05-09 2015-11-18 배재대학교 산학협력단 실제 스마트기기의 디바이스에서 발생하는 이벤트에 따라 응용프로그램을 실행하는 가상 안드로이드 장치를 구비한 서버 시스템
CN105141484B (zh) * 2015-10-12 2017-03-22 天津市普迅电力信息技术有限公司 基于云服务器的安卓设备远程调试方法
CN106055469B (zh) * 2016-05-19 2018-05-18 中国科学院软件研究所 一种基于代码注入的移动端应用测试系统及方法
US10019298B2 (en) * 2016-08-17 2018-07-10 Google Llc Middleware interface and middleware interface generator
US20180060221A1 (en) * 2016-08-24 2018-03-01 Google Inc. Multi-layer test suite generation
US10754765B2 (en) * 2017-05-17 2020-08-25 Google Llc Operating system validation
CN114020621A (zh) * 2021-11-03 2022-02-08 展讯通信(天津)有限公司 一种调试方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN116166491A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN102783095B (zh) 通信系统、通信方法、服务器设备、通信设备
CN106658756B (zh) 一种终端设备与热点连接的识别方法及装置
CN101622822A (zh) 分析虚拟专用网故障
CN105722249A (zh) 一种切换连接的方法、装置以及终端
CN105307287A (zh) 一种连接方法及可穿戴设备
CN106596122A (zh) 一种车辆诊断方法和装置
CN105302673A (zh) 信息备份方法、装置及终端
US9491166B2 (en) Apparatus and method for authenticating smart card
CN103731894A (zh) 网络切换方法及装置
CN104270204A (zh) 一种无线通信模块测试方法及测试设备
CN110442487A (zh) 一种智能卡通讯协议测试方法、装置、系统及可读介质
CN104966035A (zh) 身份证信息获取方法、装置及系统
CN108647131B (zh) 运行日志的输出系统
CN105912937A (zh) 一种Root检测处理的方法、装置以及终端
CN104660780B (zh) 电子设备及其控制方法
CN116166491B (zh) 用于调试移动终端的方法、装置、系统、电子设备及介质
CN105210043A (zh) 信息处理装置
CN104507069A (zh) 一种终端用户身份识别方法及系统
CN103268439A (zh) 在移动终端外部执行的检测移动终端安全性的方法及设备
CN105988882B (zh) 一种应用软件故障修复方法及终端设备
CN114401218B (zh) 一种数据报文的旁路转发方法及装置
CN102932497B (zh) 获取互联网协议地址的方法、设备及系统
CN106488429A (zh) 客户识别模块sim卡的处理方法及装置
CN112165715B (zh) 设备的检测方法和装置、存储介质、电子装置
CN114285657A (zh) 防火墙安全策略变更验证方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant