模拟器数据注入方法、模拟器系统及电子设备与流程

文档序号:32517032发布日期:2022-12-13 16:28阅读:44来源:国知局
1.本技术涉及计算机
技术领域
:,特别涉及一种模拟器数据注入方法、模拟器系统及电子设备。
背景技术
::2.模拟器(emulator)是一种具备模拟真实芯片的动作,为软件应用(application,app)的设计和调试等提供环境的软件,例如应用开发者(或者厂商等)等用户在应用开发阶段大多会使用模拟器对应用进行调试。数据注入是模拟器进行应用调试过程中常用的一类功能,即应用开发者向模拟器中注入数据(数据也可以称为模拟数据),修改模拟器中的一些值,以达到模拟一些特定场景的需求。例如应用开发者可以向模拟器中注入电池电量数据,以模拟设备低电量的场景;或者应用开发者可以向模拟器中注入全球定位系统(globalpositioningsystem,gps)数据,以模拟设备位置等场景。3.如果适用于例如个人计算机(personalcomputer,pc)、手机或穿戴设备等不同环境的不同的模拟器相互独立,应用开发者向模拟器中注入数据时,一次只能操作一个模拟器,向该模拟器中注入数据。如果需要向多个模拟器中注入数据,则需要应用开发者分别操作多个模拟器,即对多个模拟器分别一一进行数据注入操作,存在数据注入操作不方便,影响应用开发者的开发调试体验的问题。另外,不同的模拟器相互独立,无法满足一些不同模拟器之间进行应用联动调试的需求,即存在应用调试场景受限,影响应用开发者的开发调试体验的问题。技术实现要素:4.本技术提供了一种模拟器数据注入方法、模拟器系统及电子设备,可以解决现有技术中模拟器数据注入存在的数据注入操作不方便以及应用调试场景受限等,影响应用开发者等用户的开发调试体验的问题,可以实现更为方便地模拟器数据注入,以及满足更多的应用调试场景需求等,可以提升应用开发者等用户的开发调试体验。5.为解决上述技术问题,第一方面,本技术的实施方式提供了一种模拟器数据注入方法,用于电子设备,该方法包括:接收用户至少对第一模拟器和第二模拟器两个模拟器的启动操作,启动第一模拟器和第二模拟器,并且分别根据第一模拟器的第一注册信息,和第二模拟器的第二注册信息生成模拟器注册列表,模拟器注册列表包括第一注册信息和第二注册信息;接收用户的数据添加操作,确定用户添加的用于向第一模拟器中注入的第一数据,以及用于向第二模拟器中注入的第二数据;接收用户的数据注入操作,根据模拟器注册列表、第一数据和第二数据,分别向第一模拟器中注入第一数据,向第二模拟器中注入第二数据,以使第一模拟器根据第一数据执行相应处理,第二模拟器根据第二数据执行相应处理。6.本实施方式提供的模拟器数据注入方法可以应用于运行于电子设备中的模拟器系统,即模拟器系统可以接收用户同时对两个或者两个以上模拟器进行的启动操作,启动对应的模拟器,并且生成模拟器注册列表。然后,模拟器系统接收用户的数据添加操作,以及接收用户进行的一次数据注入操作,便可以将用户添加的数据分别注入至对应的模拟器。即可以方便地通过用户的一次数据注入操作,实现两个或者两个以上模拟器的数据注入,简化了用户的数据注入操作,使得数据注入更方便,提升了用户的开发调试体验。7.本实施方式中,模拟器系统具体可以在电子设备中运行并执行本实施方式提供的模拟器数据注入方法,因此也可以为认为是电子设备执行该模拟器数据注入方法。8.在上述第一方面的一种可能的实现中,第一注册信息包括第一模拟器的标识信息和控制端口信息,第二注册信息包括第二模拟器的标识信息和控制端口信息;第一数据包括数条第一子数据,第二数据包括数条第二子数据;根据模拟器注册列表、第一数据和第二数据,分别向第一模拟器中注入第一数据,向第二模拟器中注入第二数据,包括:根据第一数据和第二数据之间的关联关系,确定子数据对应的数据注入任务队列;以及根据第一注册信息确定第一模拟器的第一数据注入端口,根据第二注册信息确定第二模拟器的第二数据注入端口;进行任务调度以执行数据注入任务队列,通过第一数据注入端口向第一模拟器中依次注入第一子数据,通过第二数据注入端口向第二模拟器中依次注入第二子数据。9.用户添加的不同模拟器对应的数据之间可以存在关联关系,模拟器系统可以根据该关联关系将用户添加的数据分别注入至对应的模拟器。使得在分布式场景下,用户只需要执行一次数据注入操作即可将互相关联的数据分别注入到多个模拟器,可以进行不同模拟器之间的应用联动调试,提升了用户的开发调试体验。10.在上述第一方面的一种可能的实现中,关联关系包括数据注入过程中第一子数据和第二子数据的注入时序关系。即可以根据注入时序关系分别注入不同的子数据,进行不同模拟器之间的应用联动调试。11.在上述第一方面的一种可能的实现中,第一数据还包括第一子数据的第一注入时间信息,第二数据还包括第二子数据的第二注入时间信息,其中,注入时序关系是根据第一注入时间信息和第二注入时间信息确定。通过注入时间信息可以方便地确定各条子数据的注入时序。12.在上述第一方面的一种可能的实现中,若第一数据和第二数据之间无关联关系,则可以直接分别将用户添加的第一数据注入至第一模拟器,将用户添加的第二数据注入至第二模拟器。即若各模拟器对应的数据之间无关联关系,则可以直接分别将用户添加的数据分别注入至对应的模拟器,可以方便地实现向不同模拟器中同时注入不同的数据。13.在上述第一方面的一种可能的实现中,第一数据和第二数据可以相同,也可以不相同。即各模拟器对应的数据可以是不同的数据,也可以是相同的数据,以满足不同应用调试场景的需求。14.在上述第一方面的一种可能的实现中,第一数据还包括第一校验信息,第二数据还包括第二校验信息,分别向第一模拟器中注入第一数据,向第二模拟器中注入第二数据之前,还包括:根据第一校验信息和/或模拟器列表对第一数据进行校验,若校验成功,向第一模拟器中注入第一数据,若校验未成功,停止第一数据的注入;以及根据第二校验信息和/或模拟器列表对第二数据进行校验,若校验成功,向第二模拟器中注入第二数据,若校验未成功,停止第二数据的注入。通过校验信息对数据进行校验可以有效地保证数据的合法性,提高数据注入成功率。15.在上述第一方面的一种可能的实现中,第一校验信息包括以下信息中的至少一项:第一模拟器的标识信息、类型信息,第一数据的类型信息;以及第二校验信息包括以下信息中的至少一项:第二模拟器的标识信息、类型信息,第二数据的类型信息。其中模拟器的标识信息例如可以是模拟器的名称等信息,模拟器的类型信息例如可以是手机、手表等信息,数据的类型信息例如可以是gps等类型。16.在上述第一方面的一种可能的实现中,分别向第一模拟器中注入第一数据,向第二模拟器中注入第二数据之前,还包括:在第一模拟器中安装有待调试的第一应用,以及在第二模拟器中安装有待调试的第二应用。以用于各模拟器根据对应的数据运行对应应用,进行应用调试等处理。17.在上述第一方面的一种可能的实现中,第一模拟器根据第一数据执行相应处理,第二模拟器根据第二数据执行相应处理,包括:第一模拟器根据第一数据运行对应的第一应用,并根据第一数据显示第一应用对应的第一模拟界面;以及第二模拟器根据第二数据运行对应的第二应用,并根据第二数据显示第二应用对应的第二模拟界面。18.由此可以实现对至少两种模拟器的同时启动,以及至少两种模拟器同时运行、调试对应的应用,实现应用的联动调试,提高了用户的开发调试体验。19.在上述第一方面的一种可能的实现中,该方法还包括:第一模拟器向第二模拟器发送关联数据,以使第二模拟器根据关联数据执行相应的操作,关联数据为第一数据,或者为根据第一数据得到的处理数据。20.通过不同模拟器数据之间传输关联数据,可以方便地实现不同模拟器之间的应用联动调试,提升了用户的开发调试体验。21.在上述第一方面的一种可能的实现中,第二模拟器根据关联数据执行相应的操作,包括:第二模拟器根据关联数据运行对应的第二应用,并根据关联数据显示第二应用对应的第三模拟界面。22.在上述第一方面的一种可能的实现中,该方法还包括:显示数据输入界面,数据输入界面包括第一模拟器的标识信息,与第一模拟器的标识信息对应的第一数据添加控件,以及第二模拟器的标识信息,与第二模拟器的标识信息对应的第二数据添加控件,以及数据注入控件;接收用户对第一数据添加控件的触发操作,以及接收用户通过第一数据添加控件添加的第一数据;以及接收用户对第二数据添加控件的触发操作,以及接收用户通过第二数据添加控件添加的第二数据;接收用户对数据注入控件的触发操作,作为用户的数据注入操作。23.通过数据输入界面可以方便地实现用户对至少两个模拟器的数据添加操作,并且可以方便地通过用户的一次数据注入操作,实现两个或者两个以上模拟器的数据注入,简化了用户的数据注入操作,提升了用户的开发调试体验。24.在上述第一方面的一种可能的实现中,该方法还包括:显示模拟器选择界面,模拟器选择界面包括模拟器选择控件,接收用户对模拟器选择控件的触发操作,以及接收用户通过模拟器选择控件添加的模拟器,添加并显示用户添加的模拟器作为待进行数据注入的模拟器。通过模拟器选择界面可以方便地实现用户对模拟器的选择和添加。25.在上述第一方面的一种可能的实现中,该方法还包括:显示模拟器启动界面,模拟器启动界面包括用户添加的第一模拟器和第二模拟器的列表,以及第一模拟器和第二模拟器分别对应的启动控件,接收用户对启动控件的触发操作,启动对应的模拟器。通过模拟器启动界面可以方便地实现模拟器的启动。26.在上述第一方面的一种可能的实现中,该方法还包括:分别显示启动后的第一模拟器和第二模拟器的启动界面,分别作为对应的模拟界面。27.在上述第一方面的一种可能的实现中,该方法还包括:显示应用调试界面,应用调试界面包括数个应用的标识信息、各应用对应的模拟器的标识信息,以及应用调试控件,接收用户对应用和对应的模拟器的选择操作,以及接收用户对应用调试控件的触发操作,将用户选择的应用安装到对应的模拟器,并在模拟器中运行应用,以及显示应用对应的应用运行界面作为模拟界面。通过应用调试界面可以方便地确定待运行、调试的应用,以及确定应用对应的模拟器。28.第二方面,本技术的实施方式提供了一种模拟器系统,包括:模拟器服务端,以及第一模拟器和第二模拟器至少两个模拟器,模拟器服务端,用于接收用户至少对第一模拟器和第二模拟器的启动操作,启动第一模拟器和第二模拟器,并且分别根据第一模拟器的第一注册信息,和第二模拟器的第二注册信息生成模拟器注册列表,模拟器注册列表包括第一注册信息和第二注册信息;用于接收用户的数据添加操作,确定用户添加的用于向第一模拟器中注入的第一数据,以及用于向第二模拟器中注入的第二数据;用于接收用户的数据注入操作,根据模拟器注册列表、第一数据和第二数据,分别向第一模拟器中注入第一数据,向第二模拟器中注入第二数据;第一模拟器,用于接收模拟器服务端注入来的第一数据,并根据第一数据执行相应处理;第二模拟器,用于接收模拟器服务端注入来的第二数据,并根据第二数据执行相应处理。29.在上述第二方面的一种可能的实现中,第一注册信息包括第一模拟器的标识信息和控制端口信息,第二注册信息包括第二模拟器的标识信息和控制端口信息;第一数据包括数条第一子数据,第二数据包括数条第二子数据;模拟器服务端还用于:根据第一数据和第二数据之间的关联关系,确定各子数据对应数据注入任务队列;以及根据第一注册信息确定第一模拟器的第一数据注入端口,根据第二注册信息确定第二模拟器的第二数据注入端口;进行任务调度以执行数据注入任务队列,通过第一数据注入端口向第一模拟器中依次注入第一子数据,通过第二数据注入端口向第二模拟器中依次注入第二子数据。30.本技术提供的模拟器系统,用于执行上述第一方面和/或第一方面的任意一种可能的实现方式所提供的模拟器数据注入方法,因此也能实现第一方面提供的模拟器数据注入方法所具备的有益效果(或优点)。31.第三方面,本技术的实施方式提供了一种电子设备,包括:存储器,用于存储计算机程序,计算机程序包括程序指令;控制器,用于执行程序指令,以使电子设备执行如上述第一方面和/或第一方面的任意一种可能的实现方式所提供的模拟器数据注入方法。32.第四方面,本技术的实施方式提供了一种计算机可读取存储介质,计算机可读取存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被计算机运行以使电子设备执行如上述第一方面和/或第一方面的任意一种可能的实现方式所提供的模拟器数据注入方法。33.可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。附图说明34.为了更清楚地说明本技术的技术方案,下面将对实施方式描述中所使用的附图作简单介绍。35.图1示出了模拟器数据注入过程的一种显示界面示意图;36.图2是根据本技术的一些实现方式,示出了本技术提供的一种模拟器系统的框架结构示意图;37.图3示出了多个相互独立的模拟器的框架结构示意图;38.图4a-4o是根据本技术的一些实现方式,示出了本技术提供的模拟器数据注入方法的一些实现方式中注入gps数据和心率数据的过程中的一些显示界面示意图;39.图5是根据本技术的一些实现方式,示出了本技术提供的模拟器数据注入方法中模拟器1和模拟器2的启动过程示意图;40.图6是根据本技术的一些实现方式,示出了本技术提供的模拟器数据注入方法中向模拟器1和模拟器2进行数据注入的过程示意图;41.图7是根据本技术的一些实现方式,示出了一种电子设备的结构示意图;42.图8是根据本技术的一些实现方式,示出了一种片上系统(soc)的结构示意图。具体实施方式43.下面将结合附图对本技术的技术方案作进一步详细描述。44.应用开发者在应用开发阶段大多会使用在电脑等电子设备中运行的模拟器对应用进行调试,例如安卓应用开发者会使用谷歌提供的安卓模拟器对应用进行调试,ios应用开发者会使用苹果提供的iphone模拟器对应用进行调试等。以应用开发者对地图应用进行调试为例,在对地图应用进行调试的过程中,应用开发者可以向模拟器中注入(或者也可以称为写入、输入、导入等)gps数据,以模拟地图应用的位置等场景。模拟器例如可以是手机模拟器、手表模拟器、电视模拟器等对应于不同电子设备的模拟器(模拟器也可以称为模拟设备,或者模拟终端等)。45.请参见图1,图1示出了模拟器数据注入过程中的一种显示界面。以应用开发者对用于手机中的地图应用进行调试为例,调试过程通常包括应用开发者启动在电脑中运行的手机模拟器(作为模拟器的一种示例,手机模拟器例如可以是android模拟器),手机模拟器接收到应用开发者的启动操作后,打开并显示如图1右侧部分所示的手机模拟器的操作界面,该操作界面包括扩展功能界面10。然后,若手机模拟器接收到应用开发者在扩展功能界面10上点击“location”(即位置)控件11的操作,手机模拟器进入“location”功能,并显示地图界面12。然后,若手机模拟器接收到应用开发者在地图界面12上选择gps坐标的操作,例如接收到应用开发者点击选择地图界面12上的m点的操作,以及接收到应用开发者点击“setlocation”(即设置位置)控件13的操作,则手机模拟器可以将m点对应的坐标数据作为需要注入手机模拟器中的数据。接着,若手机模拟器确定手机模拟器中已安装了待调试的地图应用,则手机模拟器打开一个模拟的新的地图应用的窗口,即显示如图1左侧部分所示的手机模拟器中的地图应用的模拟界面20。并且如图1所示,可以看到手机模拟器中的地图应用的模拟界面20中当前位置m’切换到了应用开发者通过地图界面12选择的位置对应的位置,即切换到了m点的坐标对应的位置。46.需要说明的是,图1所示的手机模拟器的操作界面还包括其他一些信息,本技术对此不再做详细说明。47.当前,由于手机模拟器、手表模拟器、电视模拟器等不同的模拟器相互独立,应用开发者在向模拟器中注入数据时,一次只能操作一个模拟器,向该模拟器中注入数据。例如,如图1所示,应用开发者可以向手机模拟器中注入gps数据,以调试用于手机中的地图应用,或者开发者可以向手表模拟器中注入心率数据,以调试用于手表中的健康监测应用等。如需向多个模拟器中注入数据,则需要应用开发者依次对多个模拟器分别一一进行数据注入操作,存在数据注入操作不方便,影响应用开发者的开发调试体验的问题。48.另外,随着电子设备和应用的发展,存在一些需要对不同模拟器进行应用联动调试的场景,例如对分布式场景(也可以称为分布式多设备场景或者分布式多终端场景)的模拟。以模拟分布式场景中手机加手表户外跑步的场景为例,则需要支持调试具备gps定位和心率监测功能的运动类应用的模拟器系统,即模拟器系统需要支持同时模拟手机和手表两种模拟器,并支持同时向手机和手表两种模拟器中分别注入不同的数据,例如向手机模拟器中注入gps数据,向手表模拟器中注入心率数据。并且需要gps数据和心率数据两种数据之间存在关联关系,例如gps数据达到某一位置时,心率数据达到某个心率值。这样,运动类应用的应用开发者就可以利用gps数据和心率数据调试该运动类应用。但是当前技术中不同的模拟器相互独立,无法满足不同模拟器之间进行应用联动调试的需求,即存在应用调试场景受限,影响应用开发者的开发调试体验的问题。49.由此,本技术提出一种模拟器系统,以及应用于该模拟器系统的模拟器数据注入方法,该模拟器系统同时支持两个或者两个以上的模拟器,该模拟器系统和模拟器数据注入方法可以应用于上述分布式场景等需要对不同模拟器进行应用联动调试的场景。50.本技术提供的模拟器数据注入方法包括模拟器系统接收应用开发者(作为该模拟器系统的用户的一种示例)至少对第一模拟器和第二模拟器两个模拟器的启动操作,启动第一模拟器和第二模拟器,并且分别根据第一模拟器的第一注册信息和第二模拟器的第二注册信息生成模拟器注册列表,模拟器注册列表包括第一注册信息和第二注册信息。第一注册信息包括第一模拟器的标识信息(例如名称)和控制端口信息等信息,第二注册信息包括第二模拟器的标识信息(例如名称)和控制端口信息等信息。然后,模拟器系统接收应用开发者的数据添加操作,确定应用开发者添加的用于向第一模拟器中注入的第一数据,以及用于向第二模拟器中注入的第二数据。接着,模拟器系统接收用户的数据注入操作,根据模拟器注册列表、第一数据和第二数据,分别向第一模拟器中注入第一数据,向第二模拟器中注入第二数据,以使第一模拟器根据第一数据执行相应处理,第二模拟器根据第二数据执行相应处理。51.即本技术提供的模拟器数据注入方法中,模拟器系统可以接收应用开发者同时对两个或者两个以上模拟器的数据添加操作,确定各模拟器对应的数据,然后接收应用开发者的一次数据注入操作,便可以将应用开发者添加(或者也可以称为输入、导入等)的数据分别注入至对应的模拟器。即可以方便地通过一次数据注入操作,实现两个或者两个以上模拟器的数据注入,简化了数据注入操作,使得数据注入操作更加方便,提升了应用开发者的开发调试体验。52.并且,应用开发者添加的不同模拟器对应的数据之间可以存在关联关系,模拟器系统可以根据该关联关系将应用开发者添加的数据分别注入至对应的模拟器,例如将第一数据注入至第一模拟器,将第二数据注入至第二模拟器;关联关系可以包括数据注入过程中的数据的注入时序关系等。使得在分布式场景下,应用开发者只需要执行一次数据注入操作即可将互相关联的数据分别注入到多个模拟器,可以进行不同模拟器之间的应用联动调试,提升了应用开发者的开发调试体验。53.本技术提供的模拟器系统可以在电脑等电子设备中运行以满足应用开发者或者相关用户对应用的运行、调试、设计等需求。54.请参见图2,图2所示为本技术的一种实现方式提供的一种模拟器系统的框架结构示意图,该模拟器系统包括:模拟器服务端和模拟器客户端。模拟器服务端包括数据注入图形用户界面(graphicaluserinterface,gui)模块和设备管理(devicemanager)模块。55.数据注入图形用户界面模块用于为模拟器系统的数据提供输入界面,并将接收到的应用开发者添加的数据发送给设备管理模块。数据例如可以包括gps数据、相机(camera)数据、传感器(sensor)数据等数据。另外,数据注入图形用户界面模块还用于为模拟器系统提供模拟器数据注入过程中的模拟器的模拟界面,以及模拟器数据注入过程中的其他相关显示界面。56.设备管理模块包括模拟器管理(也可以称为设备管理,deviceserver)单元和服务端数据注入管理(dateserver)单元。模拟器管理单元用于提供该模拟器系统中的模拟器的注册功能和管理服务,即如图中带箭头的虚线所示,各模拟器(例如图2所示的模拟器1、模拟器2和模拟器3,模拟器也可以称为仿真器)在启动后,将各自的注册信息发送给模拟器管理单元,注册信息包括模拟器的名称(作为模拟器的标识信息的示例)、控制端口信息和版本信息等。模拟器管理单元根据该注册信息进行模拟器注册生成模拟器注册列表(或者也可以称为终端列表)进行存储。57.服务端数据注入管理单元用于接收来自于数据注入图形用户界面模块的数据,并提供数据校验、数据注入任务编排、任务调度管理服务等服务。并且服务端数据注入管理单元用于向各模拟器推送(或者也可以称为分发)数据以将数据注入至对应的模拟器。并且服务端数据注入管理单元还用于接收模拟器发送来的各类数据注入响应等信息。58.模拟器客户端包括多个模拟器,多个模拟器可以认为是分布式场景下的分布式系统对应的分布式模拟器。另外,模拟器客户端还包括与各模拟器对应的模拟设备操作系统(virturldeviceos),用于支持不同模拟器的运行。例如,如图2中所示模拟器客户端包括与手机对应的模拟器1和模拟设备操作系统1,与手表对应的模拟器2和模拟设备操作系统2,与电视对应的模拟器3和模拟设备操作系统3等。59.模拟器客户端可以模拟多种类型的电子设备,该电子设备例如可以是基于分布式的鸿蒙系统的设备,则模拟器客户端可以运行、调试分布式的鸿蒙应用。60.各模拟器分别包括客户端数据注入管理模块,客户端数据管理模块作为模拟器客户端的数据注入模块,提供数据接收、转发、结果响应等服务,例如用于接收前述的服务端数据注入管理单元推送来的数据,以及用于为模拟器提供数据的进一步推送或者转发至对应的模拟器操作系统的服务等。61.各模拟器操作系统分别包括管道(pipe)、硬件抽象层(hardwareabstractionlayer,hal)和应用(app)层。其中hal层包括gps、相机(camera)、传感器(sensor)等器件,是selection”控件的点击操作,模拟器系统会显示模拟器选择界面,应用开发者可以通过模拟器选择界面选择添加模拟器,并且模拟器系统显示应用开发者选择添加模拟器后的模拟器启动界面。69.例如,模拟器系统显示如图4b所示的应用开发者选择添加模拟器后的模拟器启动界面200。模拟器启动界面200包括模拟器系统支持的模拟器的类型(type)信息201,例如该模拟器系统支持手机(phone)模拟器、电视(tv)模拟器、平板电脑(tablet)模拟器、穿戴设备(wearable)模拟器(例如手表模拟器)和车(car)模拟器等类型。另外,模拟器启动界面200还包括模拟器搜索框202和模拟器添加控件203(分别作为模拟器选择控件的一种示例),其中应用开发者可以通过在模拟器搜索框202中输入模拟器名称以搜索添加模拟器(图中未示出),应用开发者也可以通过点击模拟器添加控件203后显示的模拟器的列表选择添加模拟器(图中未示出),其具体搜索和选择添加方式可以与当前常见的搜索和选择添加方式相同或相似,也可以不同,其可以根据需要选择和设置,本实现方式对此不做详细说明。70.模拟器系统在接收到应用开发者选择添加模拟器的操作后,显示应用开发者选择添加的模拟器的列表。例如如图4b所示,模拟器启动界面200还包括应用开发者选择添加的模拟器的列表204,列表204包括应用开发者选择添加的模拟器的基本信息,该基本信息包括模拟器的类型(type)、名称(name)、屏幕密度(density)、应用程序接口(applicationprogramminginterface,api)、中央处理器(centralprocessingunit,简称cpu)/应用程序二进制接口(applicationbinaryinterface,abi)、磁盘空间(sizeondisk)、状态(status)、启动(actions)等信息。当然,基本信息也可以包括模拟器的操作系统版本(osversion)、屏幕分辨率(resolution)、来源(source)等信息。另外,列表204也可以显示更多或者更少的基本信息,或者显示其他信息,其可以根据需要选择和设置。另外,模拟器启动界面200还包括“help(帮助)”、“refresh(刷新)”等其他一些信息,本实现方式对此不再做详细说明。71.以模拟前述的手机加手表户外跑步的场景为例,模拟器系统接收到应用开发者选择名称为“mate40”的手机模拟器(后续简称为模拟器“mate40”)的操作将模拟器“mate40”作为第一模拟器的示例,模拟器系统接收到应用开发者选择名称为“watchgt”的手表模拟器(后续简称为模拟器“watchgt”)的操作将模拟器“watchgt”作为第二模拟器的示例。在模拟器系统接收到应用开发者选择添加模拟器的操作后,如图4b所示,若模拟器系统接收到应用开发者对“all”控件的点击操作,模拟器系统显示如图4b所示的应用开发者选择添加的所有模拟器的列表204,即显示应用开发者选择添加的模拟器包括的模拟器“mate40”的名称和模拟器“watchgt”的名称,以及还显示各模拟器的一些其他基本信息。72.然后,如图4b所示,若模拟器系统接收到应用开发者对模拟器“mate40”和模拟器“watchgt”分别对应的启动控件2041的点击操作(作为启动操作的示例),模拟器系统启动模拟器“mate40”和模拟器“watchgt”,显示如图4c所示的显示界面,即模拟器“mate40”和模拟器“watchgt”已启动。73.另外,模拟器“mate40”和模拟器“watchgt”启动后,模拟器系统还显示如图4d所示的显示界面,即显示模拟器“mate40”的模拟界面300和模拟器“watchgt”的启动界面作为模拟界面400的一个示例。74.本实现方式中,模拟器“mate40”和模拟器“watchgt”启动后,模拟器系统还需要根据模拟器“mate40”的名称、控制端口信息、版本信息等注册信息(作为第一注册信息的示例)进行信息注册,以及根据模拟器“watchgt”的名称、控制端口信息、版本信息等注册信息(作为第二注册信息的示例)进行信息注册,生成模拟器注册列表,模拟器注册列表包括模拟器“mate40”的名称、控制端口信息、版本信息等注册信息,以及模拟器“watchgt”的名称、控制端口信息、版本信息等注册信息。75.请参见图4e,在启动模拟器“mate40”和模拟器“watchgt”后,若模拟器系统接收到应用开发者对“appdebugging”控件的点击操作,模拟器系统显示如图4f所示的应用调试界面500,应用调试界面500包括模拟器系统支持的数个应用的名称(作为应用的标识信息的一种示例)列表501,例如模拟器系统支持的应用包括运动类应用(sportsapp)、社交应用(socialapp)、游戏(game)等应用。若模拟器系统接收到应用开发者对“sportsapp”控件的点击操作(作为对应用的选择操作的一种示例),模拟器系统显示前述已启动的模拟器的信息502,例如显示前述的模拟器“mate40”和模拟器“watchgt”的名称(作为模拟器的标识信息的一种示例)。76.请参见图4g,若模拟器系统接收到应用开发者对模拟器“mate40”的名称的点击操作(作为对模拟器的选择操作的一种示例),和/或接收到应用开发者对模拟器“mate40”对应的应用调试控件503的点击操作(作为用户对模拟器的选择操作的另一种示例),模拟器系统将运动类应用(作为第一应用的一种示例)安装到模拟器“mate40”上,并且打开该运动类应用,开始等待调试该运动类应用;或者打开模拟器“mate40”上已经安装的运动类应用,并开始等待调试该运动类应用。若模拟器接收到应用开发者对模拟器“watchgt”的名称的点击操作,和/或接收到应用开发者对模拟器“watchgt”对应的应用调试控件503的点击操作,模拟器系统将运动类应用(作为第二应用的一种示例,第二应用与第一应用相同)安装到模拟器“watchgt”上,并且打开该运动类应用,开始等待调试该运动类应用;或者打开模拟器“watchgt”上已经安装的运动类应用,并开始等待调试该运动类应用。77.请参见图4h,模拟器系统在等待调试运动类应用的过程中,若接收到应用开发者对“injectdate”控件的点击操作,模拟器系统显示如图4i所示的数据输入界面600。数据输入界面600包括模拟器“mate40”的名称(作为模拟器“mate40”的标识信息的一种示例),以及与模拟器“mate40”的名称对应的数据添加控件601(作为第一数据添加控件的示例)和第一数据信息显示框602。还包括模拟器“watchgt”的名称(作为模拟器“watchgt”的标识信息的一种示例),以及与模拟器“watchgt”的名称对应的数据添加控件603(作为第二数据添加控件的示例)和第二数据信息显示框604。若模拟器系统接收到应用开发者对数据添加控件601的点击操作,模拟器系统显示文件路径,以便应用开发者选择添加对应的gps数据文件,其添加方式,与当前通常的文件添加方式相同,此处不再赘述。另外,若模拟器系统接收到应用开发者对数据添加控件603的点击操作,模拟器系统显示文件路径,以便应用开发者选择添加对应的心率数据文件,其添加方式,与当前通常的文件添加方式相同,此处不再赘述。78.如图4i所示,模拟器系统接收到应用开发者的数据添加操作,分别添加模拟器“mate40”和模拟器“watchgt”对应的数据,显示图4i所示的界面。其中,应用开发者需要向模拟器“mate40”中注入的gps数据为模拟器“mate40”对应的数据信息显示框602中显示的“choosedatefile”(作为第一数据的示例),需要向模拟器“watchgt”中注入的心率数据为模拟器“watchgt”对应的数据信息显示框604中显示的“/date/health.date”(作为第二数据的示例)。79.另外,数据输入界面600还包括“apply”(即注入)控件605(作为数据注入控件的一种示例)。若模拟器系统接收到应用开发者对“apply”控件605的点击操作,模拟器确定接收到应用开发者的数据注入操作,模拟器系统根据gps数据和心率数据之间的注入时序关系等关联关系,分别向模拟器“mate40”和模拟器“watchgt”中注入gps数据和心率数据。80.模拟器“mate40”接收到gps数据后,根据gps数据运行对应的运动类应用,并根据gps数据在模拟界面300上显示如图4j所示的对应于该gps数据的路线(作为运动类应用在手机模拟器“mate40”中运行过程对应的第一模拟界面的一种示例),即模拟器“mate40”根据gps数据调试该运动类应用。模拟器“watchgt”接收到心率数据后,根据心率数据运行对应的运动类应用,并根据心率数据在模拟界面400上显示如图4j所示的心率值,例如“心率88/分钟”(作为运动类应用在手表模拟器“watchgt”中运行过程对应的第二模拟界面的一种示例),即模拟器“watchgt”根据心率数据调试该运动类应用。81.在本技术的另一种实现方式中,模拟器“mate40”接收到gps数据后,还可以根据gps数据和心率数据确定模拟器“mate40”和模拟器“watchgt”之间的关联数据,并且向模拟器“watchgt”发送关联数据,关联数据例如可以是gps数据中的几条gps数据,或者也可以是根据gps数据得到的导航信息(导航信息作为处理数据的一种示例,例如可以是图4k所示的“沿上地西路直线268米”)。即模拟器“mate40”可以向模拟器“watchgt”发送根据gps数据得到的导航信息或者直接发送gps数据,模拟器“watchgt”接收到导航信息或者gps数据之后,还可以根据导航信息或者gps数据运行对应的运动类应用,并在模拟界面400上显示如图4k所示的导航信息(作为运动类应用在手表模拟器“watchgt”中运行过程对应的模拟界面的另一种示例,即作为第三模拟界面的一种示例)。即模拟器“watchgt”的模拟界面400上可以交替显示心率值和导航信息,以模拟分布式场景下模拟器“mate40”和模拟器“watchgt”需要调试的运动类应用。82.在本技术的另一种实现方式中,该模拟器数据注入方法可以应用于鸿蒙系统等分布式系统。如图4l所示,模拟器“mate40”接收到gps数据后,根据gps数据运行对应的运动类应用,并根据gps数据也可以在模拟界面300上显示如图4l所示的对应于该gps数据的路线,即手机端模拟器“mate40”注入的gps数据表现为预置的跑步路线。然后模拟器“mate40”根据gps数据得到导航信息(例如可以是图4l所示的“前方500米左转”),并将导航信息作为关联数据发送给模拟器“watchgt”,即本实现方式中,鸿蒙系统的分布式能力表现为手机端模拟器“mate40”向手表端模拟器“watchgt”发送数据。模拟器“watchgt”接收到导航信息后,根据导航信息运行对应的运动类应用,并在模拟界面400上显示例如“前方500米左转”等导航信息。另外,模拟器“watchgt”接收到注入的心率数据后,根据心率数据运行对应的运动类应用,并根据心率数据在模拟界面400上显示心率值,例如“心率88/分钟”,即手表端模拟器“watchgt”注入的心率数据表现为跑步时的心率变换。即模拟器“watchgt”的模拟界面400上交替显示心率值和导航信息,以模拟分布式场景下模拟器“mate40”和模拟器“watchgt”需要调试的运动类应用。83.本实现方式中,应用开发者可以选择模拟器“mate40”和模拟器“watchgt”作为模拟器系统中待注入数据的模拟器,如图4i所示,模拟器系统可以接收应用开发者向模拟器“mate40”和模拟器“watchgt”分别添加的待注入的数据,然后模拟器系统在接收到如图4i所示的应用开发者的一次数据注入操作(即接收到应用开发者对“apply”控件603的点击操作)后,可以向模拟器“mate40”和模拟器“watchgt”中同时注入不同数据,即向模拟器“mate40”中注入gps数据,向模拟器“watchgt”中注入心率数据。并且注入的gps数据和心率数据之间存在关联关系,模拟器系统可以根据该关联关系将应用开发者添加的数据分别动态注入至对应的模拟器。使得在分布式多设备场景下,应用开发者只需要执行一次数据注入操作即可将不同模拟器对应的互相关联的数据动态注入到多个设备对应的模拟器中,简化了用户的数据注入操作,方便应用开发者进行数据注入操作,提升了应用开发者的开发调试体验。84.另外,模拟器“mate40”可以向模拟器“watchgt”发送作为二者之间关联数据的gps数据或者根据gps数据得到的导航信息,可以方便地实现不同模拟器之间的应用联动调试,提升了用户的开发调试体验。85.在本技术的另一些实现方式中,模拟器系统在启动后也可以显示如图4m所示的操作界面100,若模拟器系统接收到应用开发者对“deviceselection”控件的点击操作,模拟器系统显示如图4n所示的显示界面700,显示界面700包括模拟器系统支持的模拟器的类型(type)信息701。另外,显示界面700还包括添加设备(adddevice)控件702、应用调试(appdebugging)控件703、注入数据(injectdate)控件704。若模拟器接收到应用开发者对添加设备控件702的点击操作,模拟器系统显示模拟器系统支持的模拟器的列表以用于应用开发者选择对应的模拟器(图中未示出)。然后,如图4o所示,模拟器系统显示应用开发者选择的模拟器的列表705,例如应用开发者选择的模拟器包括“huaweiwatch”、“huaweimate20”、“huaweip40”。各模拟器对应的模拟器的基本信息如图4o所示,此处不再赘述。86.若模拟器系统接收到应用开发者对应用调试控件703的点击,模拟器系统可以显示与图4f相同的应用调试界面或者不同的应用调试界面,以用于模拟器系统根据应用开发者的操作安装并打开待调试的应用,或者模拟器系统也可以根据应用开发者的操作只安装该待调试的应用,在进行数据注入的时候再打开该待调试的应用。87.若模拟器系统接收到应用开发者对注入数据控件704的点击操作,模拟器系统显示与图4i相同或者不同的数据注入界面,以用于应用开发者添加需要注入的数据。88.在本技术的另一些实现方式中,应用开发者在启动已注册的模拟器之后,也可以先通过前述的图4i进行数据的添加和注入操作,然后再通过前述的图4f使得该模拟器系统安装并打开待调试的应用,或者使得该模拟器系统打开已安装的待调试的应用,并且开始调试应用,在调试完应用之后模拟器系统即可以显示图4j等模拟界面示意图。89.在本技术的另一些实现方式中,模拟器系统对应的各显示界面也可以是其他类型或者布置方式,其可以根据需要设置,只要其满足应用开发者选择多个模拟器,以及向不同模拟器添加数据,并通过类似于前述的“apply”控件605通过一次数据注入操作实现多个数据的一次性注入即可。即应用开发者可以通过一次数据注入操作,方便地实现对多个模拟器进行多项数据注入,提升了应用开发者的开发调试体验。90.在本技术的另一些实现方式中,前述的应用的标识信息也可以是除应用名称以外的应用图标等用于标识不同应用的信息,前述的模拟器的标识信息也可以是除模拟器的名称以外的模拟器图标等用于标识不同模拟器的信息等,其皆可根据需要选择和设置。91.在本技术的一些实现方式中,前述的应用开发者对各显示界面和/或控件的触发操作可以是前述的点击操作,例如通过鼠标的单击、双击等操作,当然其也可以是用户的触摸操作,例如点击、滑动等,其可以根据需要设置和选择。92.下面将结合图2所示的模拟器系统,对本技术实现方式提供的模拟器数据注入方法进行模拟器数据注入的过程进行详细说明。93.请参见图5,本技术实现方式提供的模拟器系统在进行模拟器数据注入的过程中,启动模拟器1(例如可以是前述的手机模拟器“mate40”)和模拟器2(例如可以是前述的是手表模拟器“watchgt”),以及模拟器1和模拟器2进行信息注册的过程包括以下步骤:94.s101,模拟器系统中的数据注入图形用户界面模块接收到如前述的图4b所示的应用开发者启动模拟器1的操作,向模拟器1发送模拟器启动通知信息,以启动模拟器1。95.s102,模拟器1接收到模拟器启动通知信息后启动,并且检查模拟器管理单元是否启动,若未启动,执行s103;若已启动,执行s106。96.模拟器1检查模拟器管理单元是否启动可以是,模拟器1根据是否接收到模拟器管理单元发送来的已启动信息确定,若已接收到模拟器管理单元发送的已启动信息,则确定模拟器管理单元已启动,若未接收到模拟器管理单元发送来的已启动信息,则确定模拟器管理单元未启动。或者,模拟器1也可以向模拟器管理单元发送启动确认信息去确认模拟器管理单元是否启动。其可以根据需要选择和设置。97.s103,模拟器1向模拟器管理单元发送模拟器管理单元启动通知信息,以通知模拟器管理单元启动。98.s104,模拟器管理单元接收到模拟器管理单元启动通知信息后启动,并且监听模拟器管理单元的相关接口,用于接收模拟器1等各模拟器发送来的注册信息。99.s105,模拟器管理单元向模拟器1发送已启动的启动结果信息,以通知模拟器1模拟器管理单元已启动。100.s106,模拟器1接收到启动结果信息后,向模拟器管理单元发送注册信息以启动信息注册。注册信息包括模拟器1的名称和控制端口,以使在进行数据注入的时候服务端数据注入管理单元根据模拟器1的名称和控制端口进行数据注入。另外,注册信息还可以包括模拟器1的版本信息等信息,以用于模拟场景下的版本检查、更新等方面的使用。当然注册信息也可以包括其他的信息,其可以根据需要选择和设置。101.s107,模拟器管理单元接收到注册信息后,进行设备注册,并生成模拟器注册列表,模拟器注册列表包括前述的模拟器1的名称、控制端口和版本信息等信息。并且模拟器管理单元将注册结果信息发送给模拟器1。其中,模拟器1的名称作为模拟器1的第一标识信息的示例,该第一标识信息也可以是其他的由于标识模拟器1的信息。102.s108,模拟器1接收到注册结果信息后,向数据注入图形用户界面模块发送模拟器1的启动结果信息,以使数据注入图形用户界面模块根据模拟器1的启动结果信息显示前述的如图4d所示的模拟器1(即手机模拟器)启动后的模拟界面。103.s109,模拟器系统中的数据注入图形用户界面模块接收到如前述的图4b所示的应用开发者启动模拟器2的操作,向模拟器2发送模拟器启动通知信息,以启动模拟器2。104.s110,模拟器2接收到模拟器启动通知信息后启动,并且检查模拟器管理单元是否启动,若已启动,执行s111;若未启动,执行类似前述的s103~s105的步骤,启动模拟器管理单元,此处不再赘述。105.s111,模拟器2向模拟器管理单元发送注册信息以启动信息注册。注册信息包括模拟器2的名称和控制端口,以使在进行数据注入的时候服务端数据注入管理单元根据模拟器2的名称和控制端口进行数据注入。另外,注册信息还可以包括模拟器2的版本信息等信息,以用于模拟场景下的版本检查、更新等方面的使用。106.s112,模拟器管理单元接收到注册信息后,进行设备注册,并更新模拟器注册列表,将模拟器2的2的名称、控制端口和版本信息等信息加入该模拟器注册列表中,即模拟器注册列表还包括模拟器2的名称、控制端口和版本信息等信息。并且模拟器管理单元将注册结果信息发送给模拟器2。107.s113,模拟器2接收到注册结果信息后,向数据注入图形用户界面模块发送模拟器2的启动结果信息,以使数据注入图形用户界面模块根据模拟器2的启动结果信息显示前述的如图4d所示的模拟器2启动后的模拟界面。108.请参见图6,模拟器系统启动模拟器1和模拟器2之后,向模拟器1和模拟器2中注入数据的过程包括以下步骤:109.s201,模拟器系统中的数据注入图形用户界面模块接收到例如前述的图4i所示的应用开发者向模拟器系统中注入数据的数据注入操作,即接收到应用开发者导入数据文件的操作,确定待注入的数据,数据包括前述的gps数据和心率数据。110.s202,数据注入图形用户界面模块向服务端数据注入管理单元发送数据。该数据包括gps数据和心率数据。111.示例性的,本技术的一些实现方式中,gps数据和心率数据的示例如下所示:112.gps数据样例:113.[0114][0115]可见,gps数据包括对应模拟器1的名称“mate40”(作为模拟器1的标识信息的一种示例)和类型“phone”(作为模拟器1的类型信息的一种示例),以及多条子数据(作为第一子数据的一种示例),每条子数据包括其id,例如id:1、id:2等,还包括数据类型“gps”(作为第一数据的类型信息的一种示例)、数据的注入时间信息“timeoffset”(作为第一注入时间信息的一种示例)、数据详情(例如经度、纬度、海拔信息等坐标信息)等。本实现方式中,模拟器1的名称“mate40”、类型“phone”和数据类型“gps”作为模拟器1的第一校验信息的一种示例。[0116]心率数据样例:[0117][0118][0119]可见,心率数据包括对应模拟器2的名称“watchgt”(作为模拟器2的标识信息的一种示例)和类型“watch”(作为模拟器2的类型信息的一种示例),以及多条子数据(作为第二子数据的一种示例),每条子数据包括其id,例如id:1、id:2等,还包括数据类型“heartrate”、子数据的注入时间信息“timeoffset”(作为第二注入时间信息的一种示例)、数据详情(例如value:"80")等。本实现方式中,模拟器2的名称“watchgt”、类型“watch”和数据类型“heartrate”作为模拟器2的第二校验信息的一种示例。[0120]s203,服务端数据注入管理单元接收到数据后,从模拟器管理单元获取前述的模拟器注册列表。模拟器注册列表包括前述的例如模拟器1和模拟器2的名称、控制端口和版本信息等信息。[0121]s204,服务端数据注入管理单元对注入的数据进行校验,以及编排数据注入任务。[0122]服务端数据注入管理单元对数据进行校验包括检验数据类型是否合法,例如服务端数据注入管理单元模拟器注册列表中的模拟器1的名称、模拟器2的名称,以及gps数据中的模拟器1的名称、类型,以及gps数据的数据类型,心率数据中的模拟器2的名称、类型,以及心率数据的数据类型等信息进行校验,确定注入数据的类型必须是gps、heartrate等合法类型。或者服务端数据注入管理单元校验模拟器类型与数据是否匹配,如模拟器类型为“phone”,其对应的数据类型为“gps”,即手机模拟器中不可注入心率数据;数据范围是否合法,如gps数据的经度范围在[-180,180]等。[0123]另外,服务端数据注入管理单元还可以根据模拟器注册列表、gps数据和心率数据等信息校验数据相互依赖是否存在死锁问题,或者进行其他内容的校验,其可以根据需要选择。[0124]服务端数据注入管理单元编排数据注入任务包括根据数据文件创建数据注入任务队列,以使注入任务开始后,服务端数据注入管理单元可以根据数据注入任务队列依次向各个模拟器发送数据注入指令。[0125]以上文的gps数据和心率数据示例文件为例,在编排数据注入任务的过程中,服务端数据注入管理单元根据gps数据的第一条数据中的“timeoffset:0”信息和心率数据的第一条数据中的“timeoffset:0”信息,可知,在模拟器1和模拟器2启动后,先分别向模拟器1中注入第一条gps数据,向模拟器2中注入第一条心率数据。然后,根据gps数据的第二条数据中的“timeoffset:2000”信息(即距离上一条数据注入的时间间隔)”和心率数据中的“timeoffset:2000”和“在mate40的第2次数据注入之后,且距离上一个数据间隔至少2秒之后,再注入数据”信息,在该第一条gps数据注入2秒后,向模拟器1中再次注入第二条gps数据。然后在模拟器2的第二条gps数据注入成功后,向模拟器2中注入第二条心率数据。然后,根据gps数据和心率数据中第三条、第四条数据中的“timeoffset”信息分别向模拟器1和模拟器2中注入数据,或者也可以直接周期性的根据前述间隔时间(即2秒)向模拟器1和模拟器2中分别注入gps数据和心率数据。即可以确定gps数据和心率数据的数据注入任务队列如下:[0126]①启动后0秒:mate40-id1,watchgt-id1[0127]②启动后2秒:mate40-id2[0128]③启动后2秒,并且mate40-id2注入成功后:watchgt-id2。[0129]接着,依次执行后续的数据注入任务。[0130]其中,gps数据和心率数据中的注入时间信息“timeoffset”作为确定gps数据和心率数据的关联关系的信息示例,其具体为数据注入过程中的注入时序关系。即可以根据不同数据文件格式的gps数据和心率数据,在两个数据中分别设置数据注入过程中的注入时序关系(或者也可以称为数据注入前后关联关系)。[0131]s205,服务端数据注入管理单元编排好数据注入任务后,向数据注入图形用户界面模块发送数据导入结果信息。[0132]s206,数据注入图形用户界面模块接收到数据导入结果信息后,根据数据导入结果信息显示对应的提醒界面,以向应用开发者展示数据导入结果。例如可以显示“数据导入成功”、“数据导入失败”等信息。[0133]接下来,服务端数据注入管理单元进行任务调度,即执行编排好的数据注入任务队列,向模拟器1和模拟器2中分别注入各条数据,以使模拟器1和模拟器2分别执行对应处理并显示模拟界面。具体包括以下步骤:[0134]s207,服务端数据注入管理单元进行任务调度,执行前述的数据注入任务队列以,通过模拟器1的数据注入端口(作为第一数据注入端口的示例)向模拟器1中注入第一条gps数据,作为第一次向模拟器1注入数据。[0135]s208,模拟器1接收到第一条gps数据后,通过模拟器1对应的模拟器操作系统中的管道、hal层和应用层等依次根据该数据进行数据注入和应用调试操作,其过程可以与当前的数据注入和应用调试过程相同或者类似,此处不再赘述。并且模拟器1向服务端数据注入管理单元发送数据注入结果信息,以将第一条gps数据注入成功与否的结果告知服务端数据注入管理单元。[0136]服务端数据注入管理单元接收到数据注入结果消息后,若确定数据注入成功,则执行s209;若未注入成功,则执行注入下一条gps数据或者下一条心率数据的操作或者也可以暂停数据注入。[0137]s209,服务端数据注入管理单元进行任务调度,在向模拟器1中注入第一条gps数据的同时,通过模拟器2的数据注入端口(作为第二数据注入端口的示例)向模拟器2注入第一条心率数据,作为第一次向模拟器1注入数据。[0138]s210,模拟器2接收到第一条心率数据后,通过模拟器2对应的模拟器操作系统中的管道、hal层和应用层等依次根据该数据进行数据注入和应用调试操作,其过程可以与当前的数据注入和应用调试过程相同或者类似,此处不再赘述。并且模拟器2向服务端数据注入管理单元发送数据注入结果信息,以将第一条心率数据注入成功与否的结果告知服务端数据注入管理单元。[0139]服务端数据注入管理单元接收到数据注入结果信息后,若确定数据注入成功,则执行s211,即继续进行进一步地任务调度,向模拟器1和模拟器2分别注入下一条数据;若未注入成功,则执行注入下下一条数据的操作或者也可以暂停数据注入。[0140]s211,服务端数据注入管理单元进行任务调度,以如前述s207~s210所示的过程,向模拟器1和模拟器2中第二次、第三次……等依次注入数据。[0141]即在数据注入的过程中,服务端数据注入管理单元根据gps数据和心率数据的注入时间信息确定各条数据的注入时间关系作为gps数据和心率数据之间的关联关系,然后根据注入时间关系可以确定数据注入任务队列,并执行该数据注入任务队列以进行各条数据的注入。即可以确定gps数据和心率数据的注入任务的流程为:先向模拟器1注入第一条gps数据,向模拟器2中注入第一条心率数据,然后在2秒后,向模拟器1中再次注入第二条gps数据,注入第二条gps数据成功后,向模拟器2中注入第二条心率数据。然后,再依次向模拟器1和模拟器2中分别注入其他的gps数据和心率数据。[0142]当然,在本技术的另一些实施例中,模拟器1还可以向模拟器2发给gps数据,以使模拟器2根据该gps数据得到导航信息并显示导航信息,以模拟模拟器2和模拟器1联动的运动应用的调试。或者模拟器1还可以向模拟器2发给根据gps数据得到的导航信息,以使模拟器2显示导航信息,以模拟模拟器2和模拟器1联动的运动应用的调试。[0143]本实现方式中,在执行前述的步骤s201之前,或者执行前述的步骤s207之前,还需要在模拟器1和模拟器2中分别安装并打开待调试的该运动类应用。[0144]本实现方式中,服务端数据注入管理单元在数据注入过程中,可以根据前述的模拟器注册列表中的各模拟器的端口信息确定数据注入端口向对应的模拟器发送对应的数据。[0145]本实现方式提供的模拟器数据注入方法中,模拟器系统同时支持两种或者两种以上的模拟器,该模拟器数据注入方法包括模拟器系统接收应用开发者同时对两个或者两个以上模拟器分别添加的数据,然后接收应用开发者的一次数据注入操作,便可以将应用开发者添加的数据分别注入至对应的模拟器,即简化了用户的数据注入操作,使得数据注入更方便,可以方便地实现两个或者两个以上模拟器的数据注入,提升了应用开发者的开发调试体验。并且应用开发者添加的不同模拟器对应的数据之间可以存在关联关系,模拟器系统可以根据该关联关系将应用开发者添加的数据分别注入至对应的模拟器,使得在分布式场景下,应用开发者只需要执行一次数据注入操作即可将互相关联的数据动态注入到多个模拟器,即可以实现分布式模拟器数据注入,模拟分布式、多设备注入数据联动的应用场integratedcore,mic)处理器、网络或通信处理器、压缩引擎、图形处理器、通用图形处理器(generalpurposegraphicsprocessingunits,gpgpu)、或嵌入式处理器等等。协处理器906的任选性质用虚线表示在图7中。[0156]在一个实施例中,电子设备900可以进一步包括网络接口(networkinterfacecard,nic)903。网络接口903可以包括收发器,用于为电子设备900提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口903可以与电子设备900的其他组件集成。网络接口903可以实现上述实施例中的通信单元的功能。[0157]电子设备900可以进一步包括输入/输出(i/o)设备905。输入/输出(i/o)设备905可以包括:用户界面,该设计使得用户能够与电子设备900进行交互;外围组件接口的设计使得外围组件也能够与电子设备900交互;和/或传感器设计用于确定与电子设备900相关的环境条件和/或位置信息。[0158]值得注意的是,图7仅是示例性的。即虽然图7中示出了电子设备900包括处理器901、控制器中枢904、存储器902等多个器件,但是,在实际的应用中,使用本技术各方法的设备,可以仅包括电子设备900各器件中的一部分器件,例如,可以仅包含处理器901和nic903。图7中可选器件的性质用虚线示出。[0159]在该电子设备900的存储器中可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。[0160]本技术中,该电子设备900具体可以是手机、平板电脑、个人数字助理(personaldigitalassistant,pda)或台式电脑等终端设备。该电子设备的存储器中存储的指令可以包括:由处理器中的至少一个单元执行时导致电子设备实施如前述提到的模拟器数据注入方法的指令。[0161]请参见图8,图8所示为根据本技术的一实施方式提供的soc(systemonchip,片上系统)1000的结构示意图。在图8中,相似的部件具有同样的附图标记。另外,虚线框是更先进的soc1000的可选特征。该soc1000可以被用于根据本技术的任一电子设备,根据其所在的设备不同以及其内所存储的指令的不同,可以实现相应的功能。[0162]在图8中,soc1000包括:互连单元1002,其被耦合至处理器1001;系统代理单元1006;总线控制器单元1005;集成存储器控制器单元1003;一组或一个或多个协处理器1007,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(staticrandom-accessmemory,sram)单元1008;直接存储器存取(directmemoryaccess,dma)单元1004。在一个实施例中,协处理器1007包括专用处理器,诸如例如网络或通信处理器、压缩引擎、gpgpu、高吞吐量mic处理器、或嵌入式处理器等等。[0163]sram单元1008中可以包括用于存储数据和/或指令的一个或多个计算机可读介质。计算机可读存储介质中可以存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器1001中的至少一个单元执行时导致电子设备实施如前述所提到的模拟器数据注入方法的指令。[0164]需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。[0165]需要说明的是,在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。[0166]虽然通过参照本技术的某些优选实施方式,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,以上内容是结合具体的实施方式对本技术所作的进一步详细说明,不能认定本技术的具体实施只局限于这些说明。本领域技术人员可以在形式上和细节上对其作各种改变,包括做出若干简单推演或替换,而不偏离本技术的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1