CN104156213A - 安卓应用的运行方法及装置 - Google Patents

安卓应用的运行方法及装置 Download PDF

Info

Publication number
CN104156213A
CN104156213A CN201410395810.1A CN201410395810A CN104156213A CN 104156213 A CN104156213 A CN 104156213A CN 201410395810 A CN201410395810 A CN 201410395810A CN 104156213 A CN104156213 A CN 104156213A
Authority
CN
China
Prior art keywords
android
operating side
instruction
simulator
android simulator
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.)
Pending
Application number
CN201410395810.1A
Other languages
English (en)
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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201410395810.1A priority Critical patent/CN104156213A/zh
Publication of CN104156213A publication Critical patent/CN104156213A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供安卓应用的运行方法及装置。一方面,本发明实施例通过操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,进而接收所述安卓模拟器发送的所述渲染指令或所述渲染图像,使得所述操作端能够根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。

Description

安卓应用的运行方法及装置
【技术领域】
本发明涉及通信技术,尤其涉及安卓应用的运行方法及装置。
【背景技术】
安卓(Android)应用,是运行在装载安卓操作系统的终端上的应用程序。通常,用户可以根据安卓应用的介绍信息或其他途径的推荐信息,获知感兴趣的目标安卓应用。然后,由装载安卓操作系统的终端下载目标安卓应用,并安装在终端上,才可以正常使用目标安卓应用所提供的业务。
然而,由于安卓应用的介绍信息或推荐信息所展示的内容有限,终端运行目标安卓应用之后,用户感觉到该目标安卓应用可能并不是用户真正想使用的一个安卓应用,可能会卸载该目标安卓应用,终端反复地执行安装操作与卸载操作,会占用终端大量的处理资源,从而导致了终端的处理负担的增加。
【发明内容】
本发明的多个方面提供安卓应用的运行方法及装置,用以降低终端的处理负担。
本发明的一方面,提供一种安卓应用的运行方法,包括:
操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
所述操作端接收所述安卓模拟器发送的所述渲染指令或所述渲染图像;
所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面之后,还包括:
所述操作端采集输入设备在所述运行结果页面上的操作行为,所述操作行为包括操作的页面元素信息和操作的行为信息;
所述操作端根据所述操作行为,生成操作指令;
所述操作端向所述安卓模拟器发送所述操作指令,以使得所述安卓模拟器在所述运行结果页面上执行所述操作指令。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像;
所述操作端操作所述操作对象,以生成映射指令;
所述操作端向所述安卓模拟器发送所述映射指令,以使得所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述操作端与所述安卓模拟器之间采用Socket协议进行通信。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述操作端与所述安卓模拟器之间通过分发服务器进行通信。
本发明的另一方面,提供另一种安卓应用的运行方法,包括:
安卓模拟器获得待运行的目标安卓应用的安装包;
所述安卓模拟器利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
所述安卓模拟器向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述安卓模拟器向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面之后,还包括:
所述安卓模拟器接收所述操作端发送的操作指令,所述操作指令为所述操作端采集输入设备在所述运行结果页面上的操作行为,根据所述操作行为,生成,所述操作行为包括操作的页面元素信息和操作的行为信息;
所述安卓模拟器在所述运行结果页面上执行所述操作指令。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
所述安卓模拟器接收所述操作端发送的映射指令,所述映射指令为所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像,操作所述操作对象,生成;
所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述所述安卓模拟器与操作端之间采用Socket协议进行通信。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述安卓模拟器与所述操作端之间通过分发服务器进行通信。
本发明的另一方面,提供一种安卓应用的运行装置,包括:
发送单元,用于向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
接收单元,用于接收所述安卓模拟器发送的所述渲染指令或所述渲染图像;
展现单元,用于根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括采集操作单元,用于采集输入设备在所述运行结果页面上的操作行为,所述操作行为包括操作的页面元素信息和操作的行为信息;以及根据所述操作行为,生成操作指令;
所述发送单元,还用于
向所述安卓模拟器发送所述操作指令,以使得所述安卓模拟器在所述运行结果页面上执行所述操作指令。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括对象操作单元;其中,
所述展现单元,还用于
展现操作对象和所述安卓模拟器所模拟的终端的立体图像;
所述对象操作单元,用于操作所述操作对象,以生成映射指令;
所述发送单元,还用于
向所述安卓模拟器发送所述映射指令,以使得所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置与所述安卓模拟器之间采用Socket协议进行通信。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置与所述安卓模拟器之间通过分发服务器进行通信。
本发明的另一方面,提供另一种安卓应用的运行装置,包括:
获得单元,用于获得待运行的目标安卓应用的安装包;
运行单元,用于利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
发送单元,用于向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括操作行为模拟单元,用于接收所述操作端发送的操作指令,所述操作指令为所述操作端采集输入设备在所述运行结果页面上的操作行为,根据所述操作行为,生成,所述操作行为包括操作的页面元素信息和操作的行为信息;
所述运行单元,还用于
在所述运行结果页面上执行所述操作指令。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括对象行为模拟单元,用于接收所述操作端发送的映射指令,所述映射指令为所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像,操作所述操作对象,生成;
所述运行单元,还用于
执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置与所述操作端之间采用Socket协议进行通信。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置与所述操作端之间之间通过分发服务器进行通信。
由上述技术方案可知,一方面,本发明实施例通过操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,进而接收所述安卓模拟器发送的所述渲染指令或所述渲染图像,使得所述操作端能够根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
由上述技术方案可知,另一方面,本发明实施例通过安卓模拟器获得待运行的目标安卓应用的安装包,进而利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,使得所述安卓模拟器能够向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免占用终端的大量内存,能够有效提高终端的运行速度。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够节省目标安卓应用的下载时间与安装时间,可以实现目标安卓应用的即点即用,从而提高了目标安卓应用的应用实时性。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种安卓应用的运行方法的流程示意图;
图2为本发明另一实施例提供的一种安卓应用的运行方法的流程示意图;
图3为本发明另一实施例提供的一种安卓应用的运行装置的结构示意图;
图4为本发明另一实施例提供的一种安卓应用的运行装置的结构示意图;
图5为本发明另一实施例提供的一种安卓应用的运行装置的结构示意图;
图6为本发明另一实施例提供的另一种安卓应用的运行装置的结构示意图;
图7为本发明另一实施例提供的另一种安卓应用的运行装置的结构示意图;
图8为本发明另一实施例提供的另一种安卓应用的运行装置的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中所述的操作指令可以包括但不限于C语言代码编译的程序、C++语言代码编译的程序或java语言代码编译的程序,其他任何可实现编译的程序语言均在本发明保护范围之内,本发明对此并不做特别限定。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
万维网(World Wide Web,Web)页面可以包括由一个或者多个页面标签即超文本标记语言(HyperText Markup Language,HTML)标签组成的一个显示区块,称为页面元素,例如,文本、标签、超链接、按钮、输入框、下拉框等。
图1为本发明一实施例提供的一种安卓应用的运行方法的流程示意图,如图1所示。
101、操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像。
102、所述操作端接收所述安卓模拟器发送的所述渲染指令或所述渲染图像。
103、所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
需要说明的是,101~103的执行主体即操作端可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
需要说明的是,本实施例所涉及的安卓模拟器,是一个能在任何操作系统中模拟安卓操作系统的模拟器。安卓模拟器能在所在的设备上模拟出安卓操作系统这一运行环境。目前有许多款模拟器,例如,Android SDK是谷歌为了方便Android开发者而制作;BlueStacks安卓模拟器是2011年后比较流行的一款;著名的vmware虚拟机和Virtual Box虚拟机也可以模拟安卓操作系统,等。
本实施例中,可以在网络侧的每台设备上,部署一个安卓模拟器,或者还可以在网络侧的一台设备上,利用虚拟机技术,部署多个安卓模拟器,这样,各个安卓模拟器可以同时与多个操作端进行交互,本实施例对此不进行特别限定。
可以理解的是,本发明所涉及的页面,可以是基于HTML编写的网页(Web Page),也可以称为Web页面。
这样,通过操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,进而接收所述安卓模拟器发送的所述渲染指令或所述渲染图像,使得所述操作端能够根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
可选地,在本实施例的一个可能的实现方式中,本实施例所涉及的操作端与安卓模拟器之间的交互,均可以采用基于多种套接字(Socket)协议的方式。例如,基于传输控制协议(Transmission Control Protocol,TCP)的标准Socket协议。或者,再例如,基于超文本传输协议(HyperText TransferProtocol,HTTP)的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现操作端与安卓模拟器之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
可选地,在本实施例的一个可能的实现方式中,在101之前,操作端还可以进一步获得目标安卓应用的安装包(Android Package Kit,APK)或所述安装包的访问标识。所述安装包的访问标识,可以理解为所述安装包的统一资源定位符(Uniform Resource Locator,URL)。
具体地,所述操作端具体可以通过其他终端的分享操作,获得目标安卓应用的安装包或所述安装包的访问标识,或者还可以通过搜索操作,获得目标安卓应用的安装包或所述安装包的访问标识,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,所述安卓模拟器获得所述安装包,利用所述安装包,执行安装与运行操作。这样,就可以在所述安卓模拟器上运行所述目标安卓应用。在运行所述目标安卓应用的同时,所述安卓模拟器可以生成渲染指令。该渲染指令被所述安卓模拟器执行之后,能够生成渲染图像,以供所述安卓模拟器根据渲染图像,直接展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
其中,所述渲染指令可以包括但不限于基于OpenGL(Open GraphicsLibrary)的图像渲染指令或基于OpenGL ES(OpenGL for EmbeddedSystems)的图像渲染指令。
可选地,在本实施例的一个可能的实现方式中,在102中,安卓模拟器具体可以利用基于远程帧缓冲(Remote Frame Buffer,RFB)协议的no虚拟网络计算机(Virtual Network Computer,noVNC)技术,将所述渲染指令发送给操作端。其中,RFB协议,是一个用于远程访问图形用户界面的简单协议。
可替换地,所述安卓模拟器在运行所述目标安卓应用的同时,还可以进一步生成渲染图像,以供所述安卓模拟器根据渲染图像,直接展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。其中,渲染图像,是安卓模拟器根据渲染指令,已经渲染完成的图像即所述安卓模拟器运行所述目标安卓应用的运行结果页面。
那么,相应地,在102中,安卓模拟器具体可以利用现有的远程桌面协议,将所述渲染图像直接发送给操作端。这样,在103中,所述操作端则可以根据所述渲染图像,直接展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
可选地,在本实施例的一个可能的实现方式中,在103中,所述操作端具体可以将安卓模拟器的安卓操作系统能够识别的所述渲染指令转换为所述操作端的操作系统能够识别的渲染指令即翻译指令,进而则可以根据所述翻译指令,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
其中,所述操作端的操作系统能够识别的渲染指令,可以包括但不限于基于OpenVG(Open Vector Graphics)的矢量渲染指令。
具体地,所述操作端具体可以利用现有技术中的现有映射关系,将安卓模拟器的安卓操作系统能够识别的所述渲染指令转换为所述操作端的操作系统能够识别的渲染指令即翻译指令,或者还可以利用自定义的定义映射关系,将安卓模拟器的安卓操作系统能够识别的所述渲染指令转换为所述操作端的操作系统能够识别的渲染指令即翻译指令,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,在103之后,所述操作端还可以进一步采集输入设备在所述运行结果页面上的操作行为,所述操作行为包括操作的页面元素信息和操作的行为信息。然后,所述操作端则可以根据所述操作行为,生成操作指令。接着,所述操作端则可以向所述安卓模拟器发送所述操作指令,以使得所述安卓模拟器在所述运行结果页面上执行所述操作指令。
具体地,所述操作端具体可以通过监听方式,采集输入设备例如键盘、鼠标或触摸屏等在所述运行结果页面上的操作行为。其中,所述操作行为可以包括但不限于操作的页面元素信息和操作的行为信息,例如,鼠标滚动、鼠标点击、鼠标经过、信息输入等。其中,键盘可以为物理键盘,或者还可以虚拟键盘,本实施例对此不进行特别限定。
例如,所述操作端具体可以监听光标事件,以获得在所述运行结果页面上的操作行为。
如果所述输入设备为鼠标,那么,所述光标事件则可以包括鼠标左键点击事件、鼠标右键点击事件或鼠标滚动事件。
如果所述输入设备为键盘,那么,所述光标事件则可以包括回车确认事件或菜单弹出事件。
如果所述输入设备为触摸屏,那么,所述光标事件则可以包括短时间触碰事件、长时间触碰事件或划屏事件。
例如,可以在运行结果页面中注入JavaScript代码的方式,以实现光标事件。
以JavaScript鼠标事件为例。通常,操作系统中都绑定有JavaScript鼠标事件,当终端上发生鼠标操作行为时,就会触发操作系统生成相应的JavaScript鼠标事件,因此,所述操作端可以对JavaScript鼠标事件进行监听。当监听到有JavaScript鼠标事件被触发时,操作端则可以根据被触发的JavaScript鼠标事件、以及JavaScript鼠标事件与鼠标操作行为的对应关系,确定与JavaScript鼠标事件对应的鼠标操作行为。例如,当单击鼠标时,onClick事件会被触发,操作端则可以确定是鼠标单击行为;同时,MouseDown事件也会被触发,可以从该MouseDown事件的参数类型中获得x值和y值,该x值和y值就是鼠标点击位置。操作端则可以根据鼠标点击位置,获得当前页面上与该鼠标点击位置对应的页面元素,则可以确定该页面元素的页面元素信息。这样,操作端就获得了鼠标在页面上的操作行为,即操作的页面元素信息和操作的行为信息。
具体地,所述操作端具体可以将所采集的操作行为翻译为一些列机器语言即操作指令,以模拟出所述操作行为。
可选地,在本实施例的一个可能的实现方式中,所述操作端还可以进一步展现操作对象和所述安卓模拟器所模拟的终端的立体图像。然后,所述操作端则可以操作所述操作对象,以生成映射指令。接着,所述操作端则可以向所述安卓模拟器发送所述映射指令,以使得所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
具体地,所述操作端还可以进一步利用WebGL技术,展现操作对象和所述安卓模拟器所模拟的终端的立体图像。
其中,所述操作对象可以为一些列功能按钮,例如,定位、摇一摇等,或者还可以为电子地图,本实施例对此不进行特别限定。具体可以预先为每个操作对象都定义好各自的映射指令,这样,当用户操作所述操作对象时,则可以生成相应的映射指令。
其中,所述安卓模拟器所模拟的终端,可以为任意型号以及类型的装载安卓操作系统的终端,例如,三星手机或华为手机等。
这样,通过展现所述安卓模拟器所模拟的终端的立体图像,能够给用户更为直观的视觉体验。进一步地,通过展现操作对象,能够方便用户进行操作,以控制安卓模拟器执行与所述操作对象对应的映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态,例如,进行定位操作、调整终端的一个传感器或多个传感器的传感器参数。
可选地,在本实施例的一个可能的实现方式中,本实施例所涉及的操作端与安卓模拟器之间的交互,均可以通过分发服务器进行通信。具体地,分发服务器可以为采用node.js语言、java语言、C++语言实现的服务器端,通过端口监听方式与操作端、安卓模拟器,进行通信。具体地,分发服务器与操作端之间的交互、分发服务器与安卓模拟器之间的交互,均可以采用基于多种Socket协议的方式。例如,基于TCP的标准Socket协议。或者,再例如,基于HTTP的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现分发服务器与操作端之间、以及分发服务器与安卓模拟器之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
本实施例中,通过操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,进而接收所述安卓模拟器发送的所述渲染指令或所述渲染图像,使得所述操作端能够根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免占用终端的大量内存,能够有效提高终端的运行速度。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够节省目标安卓应用的下载时间与安装时间,可以实现目标安卓应用的即点即用,从而提高了目标安卓应用的应用实时性。
图2为本发明另一实施例提供的另一种安卓应用的运行方法的流程示意图,如图2所示。
201、安卓模拟器获得待运行的目标安卓应用的安装包。
202、所述安卓模拟器利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像。
203、所述安卓模拟器向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
需要说明的是,201~203的执行主体即安卓模拟器,是一个能在任何操作系统中模拟安卓操作系统的模拟器。安卓模拟器能在所在的设备上模拟出安卓操作系统这一运行环境。目前有许多款模拟器,例如,Android SDK是谷歌为了方便Android开发者而制作;BlueStacks安卓模拟器是2011年后比较流行的一款;著名的vmware虚拟机和Virtual Box虚拟机也可以模拟安卓操作系统,等。
本实施例中,可以在网络侧的每台设备上,部署一个安卓模拟器,或者还可以在网络侧的一台设备上,利用虚拟机技术,部署多个安卓模拟器,这样,各个安卓模拟器可以同时与多个操作端进行交互,本实施例对此不进行特别限定。
需要说明的是,本实施例所涉及的操作端,可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
可以理解的是,本发明所涉及的页面,可以是基于HTML编写的网页(Web Page),也可以称为Web页面。
这样,通过安卓模拟器获得待运行的目标安卓应用的安装包,进而利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,使得所述安卓模拟器能够向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
可选地,在本实施例的一个可能的实现方式中,本实施例所涉及的操作端与安卓模拟器之间的交互,均可以采用基于多种套接字(Socket)协议的方式。例如,基于传输控制协议(Transmission Control Protocol,TCP)的标准Socket协议。或者,再例如,基于超文本传输协议(HyperText TransferProtocol,HTTP)的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现操作端与安卓模拟器之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
可选地,在本实施例的一个可能的实现方式中,在101之前,操作端还可以进一步获得目标安卓应用的安装包(Android Package,APK)或所述安装包的访问标识。所述安装包的访问标识,可以理解为所述安装包的统一资源定位符(Uniform Resource Locator,URL)。
具体地,所述操作端具体可以通过其他终端的分享操作,获得目标安卓应用的安装包或所述安装包的访问标识,或者还可以通过搜索操作,获得目标安卓应用的安装包或所述安装包的访问标识,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,在202中,在所述安卓模拟器获得所述安装包之后,具体可以利用所述安装包,执行安装与运行操作。这样,就可以在所述安卓模拟器上运行所述目标安卓应用。在运行所述目标安卓应用的同时,所述安卓模拟器可以生成渲染指令。该渲染指令被所述安卓模拟器执行之后,能够在所述安卓模拟器端展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
其中,所述渲染指令可以包括但不限于基于OpenGL(Open GraphicsLibrary)的图像渲染指令或基于OpenGL ES(OpenGL for EmbeddedSystems)的图像渲染指令。
可替换地,所述安卓模拟器在运行所述目标安卓应用的同时,还可以进一步生成渲染图像,以供所述安卓模拟器根据渲染图像,直接展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。其中,渲染图像,是安卓模拟器根据渲染指令,已经渲染完成的图像即所述安卓模拟器运行所述目标安卓应用的运行结果页面。
那么,相应地,在203中,安卓模拟器具体可以利用现有的远程桌面协议,将所述渲染图像直接发送给操作端。这样,所述操作端则可以根据所述渲染图像,直接展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
可选地,在本实施例的一个可能的实现方式中,所述操作端具体可以将安卓模拟器的安卓操作系统能够识别的所述渲染指令转换为所述操作端的操作系统能够识别的渲染指令即翻译指令,进而则可以根据所述翻译指令,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
其中,所述操作端的操作系统能够识别的渲染指令,可以包括但不限于基于OpenVG(Open Vector Graphics)的矢量渲染指令。
具体地,所述操作端具体可以利用现有技术中的现有映射关系,将安卓模拟器的安卓操作系统能够识别的所述渲染指令转换为所述操作端的操作系统能够识别的渲染指令即翻译指令,或者还可以利用自定义的定义映射关系,将安卓模拟器的安卓操作系统能够识别的所述渲染指令转换为所述操作端的操作系统能够识别的渲染指令即翻译指令,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,在203之后,所述安卓模拟器还可以进一步接收所述操作端发送的操作指令,所述操作指令为所述操作端采集输入设备在所述运行结果页面上的操作行为,根据所述操作行为,生成,所述操作行为包括操作的页面元素信息和操作的行为信息。然后,所述安卓模拟器则可以在所述运行结果页面上执行所述操作指令。
具体地,所述操作端具体可以通过监听方式,采集输入设备例如键盘、鼠标或触摸屏等在所述运行结果页面上的操作行为。其中,所述操作行为可以包括但不限于操作的页面元素信息和操作的行为信息,例如,鼠标滚动、鼠标点击、鼠标经过、信息输入等。其中,键盘可以为物理键盘,或者还可以虚拟键盘,本实施例对此不进行特别限定。
例如,所述操作端具体可以监听光标事件,以获得在所述运行结果页面上的操作行为。
如果所述输入设备为鼠标,那么,所述光标事件则可以包括鼠标左键点击事件、鼠标右键点击事件或鼠标滚动事件。
如果所述输入设备为键盘,那么,所述光标事件则可以包括回车确认事件或菜单弹出事件。
如果所述输入设备为触摸屏,那么,所述光标事件则可以包括短时间触碰事件或长时间触碰事件。
例如,可以在运行结果页面中注入JavaScript代码的方式,以实现光标事件。
以JavaScript鼠标事件为例。通常,操作系统中都绑定有JavaScript鼠标事件,当终端上发生鼠标操作行为时,就会触发操作系统生成相应的JavaScript鼠标事件,因此,所述操作端可以对JavaScript鼠标事件进行监听。当监听到有JavaScript鼠标事件被触发时,操作端则可以根据被触发的JavaScript鼠标事件、以及JavaScript鼠标事件与鼠标操作行为的对应关系,确定与JavaScript鼠标事件对应的鼠标操作行为。例如,当单击鼠标时,onClick事件会被触发,操作端则可以确定是鼠标单击行为;同时,MouseDown事件也会被触发,可以从该MouseDown事件的参数类型中获得x值和y值,该x值和y值就是鼠标点击位置。操作端则可以根据鼠标点击位置,获得当前页面上与该鼠标点击位置对应的页面元素,则可以确定该页面元素的页面元素信息。这样,操作端就获得了鼠标在页面上的操作行为,即操作的页面元素信息和操作的行为信息。
具体地,所述操作端具体可以将所采集的操作行为翻译为一些列机器语言即操作指令,以模拟出所述操作行为。
可选地,在本实施例的一个可能的实现方式中,所述安卓模拟器还可以进一步接收所述操作端发送的映射指令,所述映射指令为所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像,操作所述操作对象,生成。然后,所述安卓模拟器则可以执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
具体地,所述操作端还可以进一步利用WebGL技术,展现操作对象和所述安卓模拟器所模拟的终端的立体图像。
其中,所述操作对象可以为一些列功能按钮,例如,定位、摇一摇等,或者还可以为电子地图,本实施例对此不进行特别限定。具体可以预先为每个操作对象都定义好各自的映射指令,这样,当用户操作所述操作对象时,则可以生成相应的映射指令。
其中,所述安卓模拟器所模拟的终端,可以为任意型号以及类型的装载安卓操作系统的终端,例如,三星手机或华为手机等。
这样,通过展现所述安卓模拟器所模拟的终端的立体图像,能够给用户更为直观的视觉体验。进一步地,通过展现操作对象,能够方便用户进行操作,以控制安卓模拟器执行与所述操作对象对应的映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态,例如,进行定位操作、调整终端的一个传感器或多个传感器的传感器参数。
可选地,在本实施例的一个可能的实现方式中,本实施例所涉及的操作端与安卓模拟器之间的交互,均可以通过分发服务器进行通信。具体地,分发服务器可以为采用node.js语言、java语言、C++语言实现的服务器端,通过端口监听方式与操作端、安卓模拟器,进行通信。具体地,分发服务器与操作端之间的交互、分发服务器与安卓模拟器之间的交互,均可以采用基于多种Socket协议的方式。例如,基于TCP的标准Socket协议。或者,再例如,基于HTTP的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现分发服务器与操作端之间、以及分发服务器与安卓模拟器之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
本实施例中,通过安卓模拟器获得待运行的目标安卓应用的安装包,进而利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,使得所述安卓模拟器能够向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免占用终端的大量内存,能够有效提高终端的运行速度。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够节省目标安卓应用的下载时间与安装时间,可以实现目标安卓应用的即点即用,从而提高了目标安卓应用的应用实时性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本发明另一实施例提供的一种安卓应用的运行装置的结构示意图,如图3所示。本实施例的安卓应用的运行装置可以包括发送单元31、接收单元32和展现单元33。其中,发送单元31,用于向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;接收单元32,用于接收所述安卓模拟器发送的所述渲染指令或所述渲染图像;展现单元33,用于根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
需要说明的是,本实施例所提供的安卓应用的运行装置可以为一操作端,可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
需要说明的是,本实施例所涉及的安卓模拟器,是一个能在任何操作系统中模拟安卓操作系统的模拟器。安卓模拟器能在所在的设备上模拟出安卓操作系统这一运行环境。目前有许多款模拟器,例如,Android SDK是谷歌为了方便Android开发者而制作;BlueStacks安卓模拟器是2011年后比较流行的一款;著名的vmware虚拟机和Virtual Box虚拟机也可以模拟安卓操作系统,等。
本实施例中,可以在网络侧的每台设备上,部署一个安卓模拟器,或者还可以在网络侧的一台设备上,利用虚拟机技术,部署多个安卓模拟器,这样,各个安卓模拟器可以同时与多个操作端进行交互,本实施例对此不进行特别限定。
可以理解的是,本发明所涉及的页面,可以是基于HTML编写的网页(Web Page),也可以称为Web页面。
可选地,在本实施例的一个可能的实现方式中,本实施例所提供的安卓应用的运行装置与安卓模拟器之间的交互,均可以采用基于多种套接字(Socket)协议的方式。例如,基于传输控制协议(Transmission ControlProtocol,TCP)的标准Socket协议。或者,再例如,基于超文本传输协议(HyperText Transfer Protocol,HTTP)的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现安卓应用的运行装置与安卓模拟器之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
可选地,在本实施例的一个可能的实现方式中,如图4所示,本实施例提供的安卓应用的运行装置还可以进一步包括采集操作单元41,用于采集输入设备在所述运行结果页面上的操作行为,所述操作行为包括操作的页面元素信息和操作的行为信息;以及根据所述操作行为,生成操作指令;相应地,所述发送单元31,还可以进一步用于向所述安卓模拟器发送所述操作指令,以使得所述安卓模拟器在所述运行结果页面上执行所述操作指令。
可选地,在本实施例的一个可能的实现方式中,如图5所示,本实施例提供的安卓应用的运行装置还可以进一步包括对象操作单元51。其中,
所述展现单元33,还可以进一步用于展现操作对象和所述安卓模拟器所模拟的终端的立体图像。
所述对象操作单元51,用于操作所述操作对象,以生成映射指令。
相应地,所述发送单元31,还可以进一步用于向所述安卓模拟器发送所述映射指令,以使得所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
可选地,在本实施例的一个可能的实现方式中,本实施例所涉及的本实施例所提供的安卓应用的运行装置与安卓模拟器之间的交互,均可以通过分发服务器进行通信。具体地,分发服务器可以为采用node.js语言、java语言、C++语言实现的服务器端,通过端口监听方式与操作端、安卓模拟器,进行通信。具体地,分发服务器与安卓应用的运行装置之间的交互、分发服务器与安卓模拟器之间的交互,均可以采用基于多种Socket协议的方式。例如,基于TCP的标准Socket协议。或者,再例如,基于HTTP的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现分发服务器与安卓应用的运行装置之间、以及分发服务器与安卓模拟器之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
需要说明的是,图1和图2对应的实施例中操作端的功能,均可以由本实施例提供的安卓应用的运行装置实现。详细描述可以参见图1和图2对应的实施例中的相关内容,此处不再赘述。
本实施例中,通过发送单元向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,进而由接收单元接收所述安卓模拟器发送的所述渲染指令或所述渲染图像,使得展现单元能够根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免占用终端的大量内存,能够有效提高终端的运行速度。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够节省目标安卓应用的下载时间与安装时间,可以实现目标安卓应用的即点即用,从而提高了目标安卓应用的应用实时性。
图6为本发明另一实施例提供的另一种安卓应用的运行装置的结构示意图,如图6所示。本实施例的安卓应用的运行装置可以包括获得单元61、运行单元62和发送单元63。其中,获得单元61,用于获得待运行的目标安卓应用的安装包;运行单元62,用于利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;发送单元63,用于向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
需要说明的是,本实施例所提供的安卓应用的运行装置可以为一安卓模拟器,是一个能在任何操作系统中模拟安卓操作系统的模拟器。安卓模拟器能在所在的设备上模拟出安卓操作系统这一运行环境。目前有许多款模拟器,例如,Android SDK是谷歌为了方便Android开发者而制作;BlueStacks安卓模拟器是2011年后比较流行的一款;著名的vmware虚拟机和Virtual Box虚拟机也可以模拟安卓操作系统,等。
本实施例中,可以在网络侧的每台设备上,部署一个安卓模拟器,或者还可以在网络侧的一台设备上,利用虚拟机技术,部署多个安卓模拟器,这样,各个安卓模拟器可以同时与多个操作端进行交互,本实施例对此不进行特别限定。
需要说明的是,本实施例所涉及的操作端,可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
可以理解的是,本发明所涉及的页面,可以是基于HTML编写的网页(Web Page),也可以称为Web页面。
可选地,在本实施例的一个可能的实现方式中,本实施例所提供的安卓应用的运行装置与操作端之间的交互,均可以采用基于多种套接字(Socket)协议的方式。例如,基于传输控制协议(Transmission Control Protocol,TCP)的标准Socket协议。或者,再例如,基于超文本传输协议(HyperText TransferProtocol,HTTP)的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现操作端与安卓应用的运行装置之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
可选地,在本实施例的一个可能的实现方式中,如图7所示,本实施例提供的安卓应用的运行装置还可以进一步包括操作行为模拟单元71,用于接收所述操作端发送的操作指令,所述操作指令为所述操作端采集输入设备在所述运行结果页面上的操作行为,根据所述操作行为,生成,所述操作行为包括操作的页面元素信息和操作的行为信息;相应地,所述运行单元62,还用于在所述运行结果页面上执行所述操作指令。
可选地,在本实施例的一个可能的实现方式中,如图8所示,本实施例提供的安卓应用的运行装置还可以进一步包括对象行为模拟单元81,用于接收所述操作端发送的映射指令,所述映射指令为所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像,操作所述操作对象,生成;相应地,所述运行单元62,还用于执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
可选地,在本实施例的一个可能的实现方式中,本实施例所提供的安卓应用的运行装置与操作端之间的交互,均可以通过分发服务器进行通信。具体地,分发服务器可以为采用node.js语言、java语言、C++语言实现的服务器端,通过端口监听方式与操作端、安卓模拟器,进行通信。具体地,分发服务器与操作端之间的交互、分发服务器与安卓应用的运行装置之间的交互,均可以采用基于多种Socket协议的方式。例如,基于TCP的标准Socket协议。或者,再例如,基于HTTP的Web Socket协议,以达到在HTTP下模拟基于TCP的通信方式。这样,可以实现分发服务器与操作端之间、以及分发服务器与安卓应用的运行装置之间,不间断的有状态的通信连接,从而保证了顺序传输消息的可靠性。
需要说明的是,图1和图2对应的实施例中安卓模拟器的功能,均可以由本实施例提供的安卓应用的运行装置实现。详细描述可以参见图1和图2对应的实施例中的相关内容,此处不再赘述。
本实施例中,通过获得单元获得待运行的目标安卓应用的安装包,进而由运行单元利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像,使得发送单元能够向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免现有技术中由于终端反复地执行安装操作与卸载操作而导致的占用终端大量的处理资源的问题,从而降低了终端的处理负担。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够避免占用终端的大量内存,能够有效提高终端的运行速度。
另外,采用本发明提供的技术方案,无需将目标安卓应用安装在终端上,就可以正常使用目标安卓应用所提供的业务,能够节省目标安卓应用的下载时间与安装时间,可以实现目标安卓应用的即点即用,从而提高了目标安卓应用的应用实时性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (20)

1.一种安卓应用的运行方法,其特征在于,包括:
操作端向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
所述操作端接收所述安卓模拟器发送的所述渲染指令或所述渲染图像;
所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
2.根据权利要求1所述的方法,其特征在于,所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面之后,还包括:
所述操作端采集输入设备在所述运行结果页面上的操作行为,所述操作行为包括操作的页面元素信息和操作的行为信息;
所述操作端根据所述操作行为,生成操作指令;
所述操作端向所述安卓模拟器发送所述操作指令,以使得所述安卓模拟器在所述运行结果页面上执行所述操作指令。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像;
所述操作端操作所述操作对象,以生成映射指令;
所述操作端向所述安卓模拟器发送所述映射指令,以使得所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
4.根据权利要求1~3任一权利要求所述的方法,其特征在于,所述操作端与所述安卓模拟器之间采用Socket协议进行通信。
5.根据权利要求1~3任一权利要求所述的方法,其特征在于,所述操作端与所述安卓模拟器之间通过分发服务器进行通信。
6.一种安卓应用的运行方法,其特征在于,包括:
安卓模拟器获得待运行的目标安卓应用的安装包;
所述安卓模拟器利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
所述安卓模拟器向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
7.根据权利要求6所述的方法,其特征在于,所述安卓模拟器向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面之后,还包括:
所述安卓模拟器接收所述操作端发送的操作指令,所述操作指令为所述操作端采集输入设备在所述运行结果页面上的操作行为,根据所述操作行为,生成,所述操作行为包括操作的页面元素信息和操作的行为信息;
所述安卓模拟器在所述运行结果页面上执行所述操作指令。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述安卓模拟器接收所述操作端发送的映射指令,所述映射指令为所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像,操作所述操作对象,生成;
所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
9.根据权利要求6~8任一权利要求所述的方法,其特征在于,所述安卓模拟器与操作端之间采用Socket协议进行通信。
10.根据权利要求6~8任一权利要求所述的方法,其特征在于,所述安卓模拟器与所述操作端之间通过分发服务器进行通信。
11.一种安卓应用的运行装置,其特征在于,包括:
发送单元,用于向安卓模拟器发送待运行的目标安卓应用的安装包或所述安装包的访问标识,以使得所述安卓模拟器获得所述安装包,利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
接收单元,用于接收所述安卓模拟器发送的所述渲染指令或所述渲染图像;
展现单元,用于根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括采集操作单元,用于采集输入设备在所述运行结果页面上的操作行为,所述操作行为包括操作的页面元素信息和操作的行为信息;以及根据所述操作行为,生成操作指令;
所述发送单元,还用于
向所述安卓模拟器发送所述操作指令,以使得所述安卓模拟器在所述运行结果页面上执行所述操作指令。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括对象操作单元;其中,
所述展现单元,还用于
展现操作对象和所述安卓模拟器所模拟的终端的立体图像;
所述对象操作单元,用于操作所述操作对象,以生成映射指令;
所述发送单元,还用于
向所述安卓模拟器发送所述映射指令,以使得所述安卓模拟器执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
14.根据权利要求11~13任一权利要求所述的装置,其特征在于,所述装置与所述安卓模拟器之间采用Socket协议进行通信。
15.根据权利要求11~13任一权利要求所述的装置,其特征在于,所述装置与所述安卓模拟器之间通过分发服务器进行通信。
16.一种安卓应用的运行装置,其特征在于,包括:
获得单元,用于获得待运行的目标安卓应用的安装包;
运行单元,用于利用所述安装包,运行所述目标安卓应用,以生成渲染指令或渲染图像;
发送单元,用于向操作端发送所述渲染指令或所述渲染图像,以使得所述操作端根据所述渲染指令和所述渲染图像,展现所述安卓模拟器运行所述目标安卓应用的运行结果页面。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括操作行为模拟单元,用于接收所述操作端发送的操作指令,所述操作指令为所述操作端采集输入设备在所述运行结果页面上的操作行为,根据所述操作行为,生成,所述操作行为包括操作的页面元素信息和操作的行为信息;
所述运行单元,还用于
在所述运行结果页面上执行所述操作指令。
18.根据权利要求16所述的装置,其特征在于,所述装置还包括对象行为模拟单元,用于接收所述操作端发送的映射指令,所述映射指令为所述操作端展现操作对象和所述安卓模拟器所模拟的终端的立体图像,操作所述操作对象,生成;
所述运行单元,还用于
执行所述映射指令,以使得所述安卓模拟器所模拟的终端处于相应的操作状态。
19.根据权利要求16~18任一权利要求所述的装置,其特征在于,所述装置与所述操作端之间采用Socket协议进行通信。
20.根据权利要求16~18任一权利要求所述的装置,其特征在于,所述装置与所述操作端之间通过分发服务器进行通信。
CN201410395810.1A 2014-08-12 2014-08-12 安卓应用的运行方法及装置 Pending CN104156213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410395810.1A CN104156213A (zh) 2014-08-12 2014-08-12 安卓应用的运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410395810.1A CN104156213A (zh) 2014-08-12 2014-08-12 安卓应用的运行方法及装置

Publications (1)

Publication Number Publication Date
CN104156213A true CN104156213A (zh) 2014-11-19

Family

ID=51881720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410395810.1A Pending CN104156213A (zh) 2014-08-12 2014-08-12 安卓应用的运行方法及装置

Country Status (1)

Country Link
CN (1) CN104156213A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469393A (zh) * 2014-11-25 2015-03-25 百度在线网络技术(北京)有限公司 获取云端模拟器音频的方法和系统
CN105260190A (zh) * 2015-10-30 2016-01-20 北京奇艺世纪科技有限公司 基于安卓系统分发技术的安卓应用的运行方法和系统
CN105700936A (zh) * 2016-01-14 2016-06-22 福州靠谱网络有限公司 一种安卓模拟器应用程序运行方法和装置
CN106503546A (zh) * 2016-09-22 2017-03-15 山东浪潮商用系统有限公司 一种安卓应用程序的检测筛选方法
CN107729079A (zh) * 2017-10-08 2018-02-23 深圳市星策网络科技有限公司 一种应用程序的控制方法和服务器
CN109376078A (zh) * 2018-09-25 2019-02-22 平安普惠企业管理有限公司 移动应用的测试方法、终端设备及介质
CN110968395A (zh) * 2019-10-23 2020-04-07 华为技术有限公司 一种在模拟器中处理渲染指令的方法及移动终端
CN114025238A (zh) * 2022-01-10 2022-02-08 北京蔚领时代科技有限公司 基于Linux服务器原生安卓应用云端虚拟化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204210A (zh) * 2011-05-18 2011-09-28 华为技术有限公司 启动应用的方法、服务器和系统
US20130198298A1 (en) * 2012-01-27 2013-08-01 Avaya Inc. System and method to synchronize video playback on mobile devices
CN103259874A (zh) * 2013-06-05 2013-08-21 百度在线网络技术(北京)有限公司 应用程序的跨系统运行方法、系统及云端服务器
CN103345406A (zh) * 2013-06-21 2013-10-09 中国科学院深圳先进技术研究院 一种实现智能移动终端的云端虚拟移动终端的系统和方法
CN103677956A (zh) * 2013-12-06 2014-03-26 北京奇虎科技有限公司 一种在计算设备上模拟移动设备应用运行的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204210A (zh) * 2011-05-18 2011-09-28 华为技术有限公司 启动应用的方法、服务器和系统
US20130198298A1 (en) * 2012-01-27 2013-08-01 Avaya Inc. System and method to synchronize video playback on mobile devices
CN103259874A (zh) * 2013-06-05 2013-08-21 百度在线网络技术(北京)有限公司 应用程序的跨系统运行方法、系统及云端服务器
CN103345406A (zh) * 2013-06-21 2013-10-09 中国科学院深圳先进技术研究院 一种实现智能移动终端的云端虚拟移动终端的系统和方法
CN103677956A (zh) * 2013-12-06 2014-03-26 北京奇虎科技有限公司 一种在计算设备上模拟移动设备应用运行的方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469393A (zh) * 2014-11-25 2015-03-25 百度在线网络技术(北京)有限公司 获取云端模拟器音频的方法和系统
CN105260190A (zh) * 2015-10-30 2016-01-20 北京奇艺世纪科技有限公司 基于安卓系统分发技术的安卓应用的运行方法和系统
CN105700936A (zh) * 2016-01-14 2016-06-22 福州靠谱网络有限公司 一种安卓模拟器应用程序运行方法和装置
CN106503546A (zh) * 2016-09-22 2017-03-15 山东浪潮商用系统有限公司 一种安卓应用程序的检测筛选方法
CN107729079A (zh) * 2017-10-08 2018-02-23 深圳市星策网络科技有限公司 一种应用程序的控制方法和服务器
CN109376078A (zh) * 2018-09-25 2019-02-22 平安普惠企业管理有限公司 移动应用的测试方法、终端设备及介质
CN109376078B (zh) * 2018-09-25 2023-08-25 北京新时科技发展有限公司 移动应用的测试方法、终端设备及介质
CN110968395A (zh) * 2019-10-23 2020-04-07 华为技术有限公司 一种在模拟器中处理渲染指令的方法及移动终端
WO2021078161A1 (zh) * 2019-10-23 2021-04-29 华为技术有限公司 一种在模拟器中处理渲染指令的方法及移动终端
CN110968395B (zh) * 2019-10-23 2024-02-09 华为技术有限公司 一种在模拟器中处理渲染指令的方法及移动终端
CN114025238A (zh) * 2022-01-10 2022-02-08 北京蔚领时代科技有限公司 基于Linux服务器原生安卓应用云端虚拟化方法
CN114025238B (zh) * 2022-01-10 2022-04-05 北京蔚领时代科技有限公司 基于Linux服务器原生安卓应用云端虚拟化方法

Similar Documents

Publication Publication Date Title
CN104156213A (zh) 安卓应用的运行方法及装置
CN103810089B (zh) 自动测试基于姿态的应用
US9575652B2 (en) Instantiable gesture objects
KR102077360B1 (ko) 애플리케이션에 대한 중간 언어 코드로부터 네이티브 코드를 생성하는 기법
CN102306174B (zh) 一种基于网页元素与用户进行互动的方法与设备
CN104321745A (zh) 用于软件应用程序的跨平台开发的环境及方法
CN104102578A (zh) 测试方法及系统、操作端
Hansson et al. Effects on performance and usability for cross-platform application development using React Native
CN104395882A (zh) 定制的表情符号项集的建立和上下文感知呈现
CN103927253A (zh) 多浏览器兼容性测试方法及系统
US9286142B2 (en) Methods and systems for supporting a rendering API using a runtime environment
CN104281677A (zh) 页面的展现方法及装置
CN112558824A (zh) 一种页面显示方法、装置、以及计算机存储介质
CN110944048A (zh) 业务逻辑配置方法及装置
US20150120801A1 (en) Analytics data collection with low integration cost for dynamic message passing systems
CN104598267B (zh) 应用的调起方法及装置
CN102591961A (zh) 一种制作数据图表的方法及系统
US20130226991A1 (en) Ensuring availability and parameter format of url scheme commands
CN114036439A (zh) 网站搭建方法、装置、介质及电子设备
CN104094199A (zh) 输入映射区域
CN105453033A (zh) 程序测试服务
CN104598268A (zh) 应用的处理方法及装置
CN104866335A (zh) 一种移动终端基于Egret Runtime运行游戏的方法及装置
US10068250B2 (en) System and method for measuring mobile advertising and content by simulating mobile-device usage
CN105393214A (zh) 自我揭示符号性的手势

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141119

RJ01 Rejection of invention patent application after publication