CN105094839A - 基于PC机实现运行Android系统应用的方法 - Google Patents
基于PC机实现运行Android系统应用的方法 Download PDFInfo
- Publication number
- CN105094839A CN105094839A CN201510499119.2A CN201510499119A CN105094839A CN 105094839 A CN105094839 A CN 105094839A CN 201510499119 A CN201510499119 A CN 201510499119A CN 105094839 A CN105094839 A CN 105094839A
- Authority
- CN
- China
- Prior art keywords
- data
- driven
- android
- sending module
- android system
- 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
Links
Abstract
一种基于PC机实现运行Android系统应用的方法,先配置一运行有Android系统的Android设备;所述方法包括:PC机和Android设备上分别运行数据驱动发送模块和数据驱动接收模块,在数据驱动接收模块与数据驱动发送模块之间建立socket连接;数据驱动接收模块将Android设备的显示内容发送给PC机,由PC机进行显示;数据驱动发送模块接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给数据驱动接收模块;Android设备对所述操作指令进行处理,并执行相应操作,从而实现PC机运行Android系统的运用。本发明的优点:使用键盘和鼠标来操控Android设备的应用,操作更熟悉且更加方便快捷。
Description
技术领域
本发明具体涉及一种基于PC机实现运行Android系统应用的方法。
背景技术
随着智能手机的蓬勃发展,手机上的应用,游戏等层出不穷。但有些应用如游戏等在手机上操作会有很多不方便的地方,比如玩游戏时,手机电量下降太快,发热高,容易被来电,短信打断,屏幕小,操作不便等。很多人期望能够在个人PC机上使用同样的应用、游戏。但目前的实际情况是很多应用只有手机版本,并无PC机版本。当前的解决方案是在PC机上使用模拟器模拟手机运行相关应用,但存在运行速度慢,兼容性差等诸多问题。
发明内容
本发明要解决的技术问题,在于提供一种基于PC机实现运行Android系统应用的方法。本发明的思路是:使用真实的硬件产品运行相关手机应用,该硬件产品与真实的手机硬件架构相当;该硬件产品的显示透过有线或者无线方式传输送入PC,由PC以窗口方式显示;PC透过有线或者无线方式与该硬件产品通信,传输相关指令,键盘鼠标信息;PC界面下的各种输入法均可用于该硬件产品,PC端可通过软件方式用键盘鼠标模拟定义手机上的触屏操作。
本发明先配置一运行有Android系统的Android设备。本发明包括以下步骤:
(1)PC机和Android设备上分别运行一数据驱动发送模块1和一数据驱动接收模块2,在所述数据驱动接收模块2与数据驱动发送模块1之间建立socket连接;
(2)数据驱动接收模块2将Android设备的显示内容发送给PC机,由PC机进行显示;所述数据驱动发送模块1接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给所述数据驱动接收模块2;
(3)Android设备对所述操作指令进行处理,并执行相应操作,从而实现PC机运行Android系统的运用。
对于本发明中步骤(1)的具体操作方法可以优选为:PC机上运行一数据驱动发送模块1,所述数据驱动发送模块1内置有Android系统的adb工具;数据驱动发送模块1调用adb工具,使用adbforward命令,将PC机的一网络通信端口映射到Android设备的另一网络通信端口,一Linux应用程序数据驱动接收模块2即以root身份运行在Android设备上,从而所述数据驱动接收模块2与数据驱动发送模块1之间建立socket连接。
对于本发明中步骤(2)的具体操作方法可以优选为:数据驱动发送模块1在PC机上建立一个窗口,窗口显示Android设备的显示内容,并通过Windows消息循环,接收对所述窗口进行的所有键盘操作和鼠标操作消息,并对键盘操作和鼠标操作消息进行数据封装后发送给数据驱动接收模块2。
数据驱动发送模块1对键盘操作和鼠标操作消息进行数据封装的具体操作方法可以优选为:
(1)针对于键盘操作,将被操作的键盘键的虚拟键码转换为Android系统中的键码,并按照数据驱动接收模块2和数据驱动发送模块1之间的通信协议封装为操作指令;
(2)针对于鼠标操作,将鼠标左键按下、鼠标左键弹起和鼠标左键按下时拖动处理为三种操作类型,将光标指向转换为光标位置相对于所述窗口左上角的坐标,然后按照数据驱动接收模块2和数据驱动发送模块1之间的通信协议封装为操作指令。
对于本发明中步骤(3)的具体操作方法可以优选为:
A.当数据驱动接收模块2启动时,遍历Android设备的/dev/input下所有虚拟设备文件,并根据Linux内核公布的虚拟输入设备文件协议,识别并选择Android设备中的一键盘设备和一多点触控设备,然后打开其相应的虚拟设备文件;
B.数据驱动接收模块2接收所述键盘操作和鼠标操作消息,按照时间先后依次写入所述虚拟设备文件中;
C.Android设备上的Android系统根据所述虚拟输入设备文件协议,从所述虚拟设备文件中读取所述键盘操作和鼠标操作消息并进行处理,即将PC机的键盘输入消息和鼠标输入消息转换为Android系统的输入消息。
本发明的优点在于:使用PC机的键盘和鼠标来操控Android设备的应用,操作更熟悉且更加方便快捷,更符合操控需求;避免了在手机上运行应用的弊端,解决了使用手机运行某些应用的不方便;实现了WINDOWS系统与安卓系统的双融合,同时在多任务系统下共存,并无缝交互,即可使用同一套鼠标键盘,鼠标移动到Windows下面时键鼠控制Windows应用,移动到Android窗口时,键鼠自动控制Android应用。
附图说明
图1是本发明中的数据驱动发送模块与数据驱动接收模块连接与通信的示意框图。
具体实施方式
以下实施例结合附图详细地说明本发明。
本发明基于PC机实现运行Android系统应用的方法,先配置一运行有Android系统的Android设备,本实施例包括以下步骤:
(1)PC机和Android设备上分别运行一数据驱动发送模块1和一数据驱动接收模块2,在所述数据驱动接收模块2与数据驱动发送模块1之间建立socket连接,具体地:
PC机上运行一数据驱动发送模块1,所述数据驱动发送模块1内置有Android系统的adb工具;数据驱动发送模块1调用adb工具,使用adbforward命令,将PC机的一任选的网络通信端口映射到Android设备的另一任选的网络通信端口(例如:adbforwardtcp:6100tcp:7100;即可将PC机上6100网络通信端口映射到Android设备的7100端口,其中6100端口和7100端口也可换为其他端口);如此,在PC机上即可以使用操作系统提供的API,与Android设备中的Android系统建立标准的socket连接。然后在Android设备的Android系统中,会以root身份运行一个标准的Linux应用程序(无界面)即数据驱动接收模块2,并且会在每次Android系统启动时自动运行。
在图1中,数据驱动发送模块1与接收模块2通过ADB连接起来,ADB连接成功后,两个模块通过SOCKET进行通信。
数据驱动发送模块1是专门接收底层键鼠驱动事件、Launcher指令集和用户控制指令的模块,这些指令通过该模块做相应的数据处理和封装,并通过SOCKET发送到数据驱动接收模块2,数据驱动接收模块2根据接收到的指令集做出相应的处理并反馈到PC机上。
当数据驱动发送模块1需要和数据驱动接收模块2交互时,基本上都需要实时获取指令数据,比如用户的点击事件和键盘事件,接收端需要知道并作出相应处理。要获取发送模块的指令信息,有两种方法:第一种是客户端使用Pull(拉)的方式,就是隔一段时间就去发送模块上获取一下信息,看是否有更新的信息出现。第二种就是发送模块使用Push(推送)的方式,当发送模块有新信息了,则把最新的信息Push到接收端上。这样,接收端就能自动的接收到消息。目前我们采用的是第二种方式,即数据驱动发送模块1接收到底层的指令集时,主动地把指令push到数据驱动接收模块2上,这样能保证用户指令能实时快速地到达接收端。
(2)数据驱动接收模块2将Android设备的显示内容发送给PC机,由PC机进行显示;所述数据驱动发送模块1接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给所述数据驱动接收模块2;具体地:
数据驱动发送模块1在PC机上建立一个窗口,所述窗口显示Android设备的显示内容,并通过Windows消息循环,接受对所述窗口进行的所有键盘操作和鼠标操作消息(可使用API或各类GUI框架实现),并对所述键盘操作和鼠标操作消息进行数据封装后发送给所述数据驱动接收模块2;数据驱动发送模块1对所述键盘操作和鼠标操作消息进行数据封装的具体操作方法如下:
(Ⅰ)针对于键盘操作,将被操作的键盘键的虚拟键码转换为Android系统中的键码(可以通过一个表格来转换),并按照数据驱动接收模块2和数据驱动发送模块1之间的通信协议封装为操作指令;
(Ⅱ)针对于鼠标操作,将鼠标左键按下、鼠标左键弹起和鼠标左键按下时拖动处理为三种操作类型,将光标指向转换为光标位置相对于所述窗口左上角的坐标,然后按照数据驱动接收模块2和数据驱动发送模块1之间的通信协议封装为操作指令。
(3)Android设备对所述操作指令进行处理,并执行相应操作,从而实现PC机运行Android系统的运用;具体地:
A.当数据驱动接收模块2启动时,遍历Android设备的/dev/input下所有虚拟设备文件,并根据Linux内核公布的虚拟输入设备文件协议,识别Android设备中的所有键盘设备和多点触控设备,并任选其中一个键盘设备和一个多点触控设备,然后根据Linux内核公布的虚拟输入设备文件协议打开其相应的虚拟设备文件;Linux内核公布的虚拟输入设备文件协议可以在https://www.kernel.org/doc/Documentation/input/event-codes.txt下载;
B.数据驱动接收模块2接收所述键盘操作和鼠标操作消息,按照时间先后依次写入所述虚拟设备文件中,具体写入的内容严格遵循Linux内核公布的虚拟输入设备文件协议;
C.Android设备上的Android系统根据Linux内核公布的虚拟输入设备文件协议,从所述虚拟设备文件中读取所述键盘操作和鼠标操作消息并进行处理,即将PC机的键盘输入消息和鼠标输入消息转换为Android系统的输入消息。
Claims (5)
1.一种基于PC机实现运行Android系统应用的方法,其特征在于:先配置一运行有Android系统的Android设备;所述方法包括以下步骤:
(1)PC机和Android设备上分别运行一数据驱动发送模块和一数据驱动接收模块,在所述数据驱动接收模块与数据驱动发送模块之间建立socket连接;
(2)数据驱动接收模块将Android设备的显示内容发送给PC机,由PC机进行显示;所述数据驱动发送模块接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给所述数据驱动接收模块;
(3)Android设备对所述操作指令进行处理,并执行相应操作,从而实现PC机运行Android系统的运用。
2.如权利要求1所述的基于PC机实现运行Android系统应用的方法,其特征在于:所述步骤(1)的具体操作方法如下:PC机上运行一数据驱动发送模块,所述数据驱动发送模块内置有Android系统的adb工具;数据驱动发送模块调用adb工具,使用adbforward命令,将PC机的一网络通信端口映射到Android设备的另一网络通信端口,一Linux应用程序数据驱动接收模块即以root身份运行在Android设备上,从而所述数据驱动接收模块与数据驱动发送模块之间建立socket连接。
3.如权利要求1所述的基于PC机实现运行Android系统应用的方法,其特征在于:所述步骤(2)的具体操作方法如下:数据驱动发送模块在PC机上建立一个窗口,所述窗口显示Android设备的显示内容,并通过Windows消息循环,接收对所述窗口进行的所有键盘操作和鼠标操作消息,并对所述键盘操作和鼠标操作消息进行数据封装后发送给所述数据驱动接收模块。
4.如权利要求3所述的基于PC机实现运行Android系统应用的方法,其特征在于:数据驱动发送模块对所述键盘操作和鼠标操作消息进行数据封装,其具体操作方法如下:
(Ⅰ)针对于键盘操作,将被操作的键盘键的虚拟键码转换为Android系统中的键码,并按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令;
(Ⅱ)针对于鼠标操作,将鼠标左键按下、鼠标左键弹起和鼠标左键按下时拖动处理为三种操作类型,将光标指向转换为光标位置相对于所述窗口左上角的坐标,然后按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令。
5.如权利要求1所述的基于PC机实现运行Android系统应用的方法,其特征在于:所述步骤(3)的具体操作方法如下:
A.当数据驱动接收模块启动时,遍历Android设备的/dev/input下所有虚拟设备文件,并根据Linux内核公布的虚拟输入设备文件协议,识别并选择Android设备中的一键盘设备和一多点触控设备,然后打开其相应的虚拟设备文件;
B.数据驱动接收模块接收所述键盘操作和鼠标操作消息,按照时间先后依次写入所述虚拟设备文件中;
C.Android设备上的Android系统根据所述虚拟输入设备文件协议,从所述虚拟设备文件中读取所述键盘操作和鼠标操作消息并进行处理,即将PC机的键盘输入消息和鼠标输入消息转换为Android系统的输入消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510499119.2A CN105094839A (zh) | 2015-08-14 | 2015-08-14 | 基于PC机实现运行Android系统应用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510499119.2A CN105094839A (zh) | 2015-08-14 | 2015-08-14 | 基于PC机实现运行Android系统应用的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105094839A true CN105094839A (zh) | 2015-11-25 |
Family
ID=54575367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510499119.2A Pending CN105094839A (zh) | 2015-08-14 | 2015-08-14 | 基于PC机实现运行Android系统应用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094839A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430468A (zh) * | 2015-11-30 | 2016-03-23 | 北京奇艺世纪科技有限公司 | 一种电视机顶盒的遥控方法及装置 |
CN105550017A (zh) * | 2015-12-11 | 2016-05-04 | 北京奇虎科技有限公司 | 针对应用进行虚拟输入控制的方法、装置及系统 |
CN106060234A (zh) * | 2016-05-05 | 2016-10-26 | 乐视控股(北京)有限公司 | 一种通过键盘向移动终端输入信息的方法和系统 |
CN106293880A (zh) * | 2016-08-10 | 2017-01-04 | 北京奇虎科技有限公司 | 在Windows系统上运行Android应用程序的方法及装置 |
CN106933647A (zh) * | 2015-12-29 | 2017-07-07 | 广州爱九游信息技术有限公司 | 一种生成模拟器按键控制信息的方法、装置及系统 |
CN107297073A (zh) * | 2017-06-15 | 2017-10-27 | 广州华多网络科技有限公司 | 外设输入信号的模拟方法、装置及电子设备 |
CN108777706A (zh) * | 2018-05-18 | 2018-11-09 | 深圳壹账通智能科技有限公司 | 信息封装方法、装置、计算机设备及存储介质 |
CN109491568A (zh) * | 2018-12-28 | 2019-03-19 | 深圳开立生物医疗科技股份有限公司 | 鼠标事件处理方法、装置、设备及计算机可读存储介质 |
CN110874241A (zh) * | 2018-08-10 | 2020-03-10 | 北京融汇智能科技有限公司 | 基于android系统的集控装置 |
CN112328356A (zh) * | 2020-10-21 | 2021-02-05 | 成都安易迅科技有限公司 | Android与Windows的互通方法、装置、存储介质及计算机设备 |
CN112988675A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN113791875A (zh) * | 2021-11-18 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | 输入设备虚拟化的方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131001A (zh) * | 2011-03-21 | 2011-07-20 | 北京洋浦伟业科技发展有限公司 | 一种移动通信终端的远程控制系统和方法 |
CN103324348A (zh) * | 2013-06-28 | 2013-09-25 | 华南理工大学 | 一种基于智能移动终端的Windows桌面控制方法 |
CN103744763A (zh) * | 2013-12-25 | 2014-04-23 | 广东明创软件科技有限公司 | 自动化测试中pc端同步控制移动终端的方法 |
-
2015
- 2015-08-14 CN CN201510499119.2A patent/CN105094839A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131001A (zh) * | 2011-03-21 | 2011-07-20 | 北京洋浦伟业科技发展有限公司 | 一种移动通信终端的远程控制系统和方法 |
CN103324348A (zh) * | 2013-06-28 | 2013-09-25 | 华南理工大学 | 一种基于智能移动终端的Windows桌面控制方法 |
CN103744763A (zh) * | 2013-12-25 | 2014-04-23 | 广东明创软件科技有限公司 | 自动化测试中pc端同步控制移动终端的方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430468A (zh) * | 2015-11-30 | 2016-03-23 | 北京奇艺世纪科技有限公司 | 一种电视机顶盒的遥控方法及装置 |
CN105550017A (zh) * | 2015-12-11 | 2016-05-04 | 北京奇虎科技有限公司 | 针对应用进行虚拟输入控制的方法、装置及系统 |
CN106933647A (zh) * | 2015-12-29 | 2017-07-07 | 广州爱九游信息技术有限公司 | 一种生成模拟器按键控制信息的方法、装置及系统 |
CN106060234A (zh) * | 2016-05-05 | 2016-10-26 | 乐视控股(北京)有限公司 | 一种通过键盘向移动终端输入信息的方法和系统 |
CN106293880B (zh) * | 2016-08-10 | 2019-12-13 | 北京奇虎科技有限公司 | 在Windows系统上运行Android应用程序的方法及装置 |
CN106293880A (zh) * | 2016-08-10 | 2017-01-04 | 北京奇虎科技有限公司 | 在Windows系统上运行Android应用程序的方法及装置 |
CN107297073A (zh) * | 2017-06-15 | 2017-10-27 | 广州华多网络科技有限公司 | 外设输入信号的模拟方法、装置及电子设备 |
CN108777706A (zh) * | 2018-05-18 | 2018-11-09 | 深圳壹账通智能科技有限公司 | 信息封装方法、装置、计算机设备及存储介质 |
CN110874241A (zh) * | 2018-08-10 | 2020-03-10 | 北京融汇智能科技有限公司 | 基于android系统的集控装置 |
CN109491568A (zh) * | 2018-12-28 | 2019-03-19 | 深圳开立生物医疗科技股份有限公司 | 鼠标事件处理方法、装置、设备及计算机可读存储介质 |
CN109491568B (zh) * | 2018-12-28 | 2021-09-28 | 深圳开立生物医疗科技股份有限公司 | 鼠标事件处理方法、装置、设备及计算机可读存储介质 |
CN112328356A (zh) * | 2020-10-21 | 2021-02-05 | 成都安易迅科技有限公司 | Android与Windows的互通方法、装置、存储介质及计算机设备 |
CN112328356B (zh) * | 2020-10-21 | 2023-09-29 | 成都安易迅科技有限公司 | Android与Windows的互通方法、装置、存储介质及计算机设备 |
CN112988675A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN112988675B (zh) * | 2021-03-12 | 2023-02-21 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN113791875A (zh) * | 2021-11-18 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | 输入设备虚拟化的方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105094839A (zh) | 基于PC机实现运行Android系统应用的方法 | |
CN105893067A (zh) | 基于PC机实现运行Android系统应用的方法 | |
JP7101780B2 (ja) | App遠隔制御方法及び関連するデバイス | |
CN104506907A (zh) | 控制端与多个远程被控终端之间的交互操作方法及系统 | |
CN104679334A (zh) | 一种数据交互显示系统及方法 | |
CN113079216B (zh) | 一种云应用的实现方法、装置、电子设备及可读存储介质 | |
JP2014146229A (ja) | 画面共有システム及び中央装置 | |
CN102800178A (zh) | 遥控玩具的控制方法 | |
CN104609271A (zh) | 非接触式电梯召唤系统及其实现方法 | |
CN103995567A (zh) | 一种双系统智能交互一体机及其双系统切换实现方法 | |
KR20220045115A (ko) | 차량-기계 상호연결 방법 및 장치 | |
CN105262880A (zh) | 一种应用于WiFi网络的手机控制演示系统 | |
CN106227416A (zh) | 一种远程桌面虚拟鼠标控制方法及系统 | |
CN204989857U (zh) | 一种基于先锋机器人的远程控制装置 | |
WO2020103680A1 (zh) | 一种数据通信方法及人机交互系统 | |
CN204819528U (zh) | 基于web的远程控制机器人 | |
CN111701232B (zh) | 游戏画面的处理方法、装置及电子装置 | |
CN111143017B (zh) | 云操作系统交互处理方法、客户端及云操作系统 | |
CN104636105A (zh) | 一种无线同屏控制方法及系统 | |
CN104123009A (zh) | 一种利用手持通信设备触屏对虚拟现实展示端的控制系统 | |
US9853832B2 (en) | Wireless ethernet network controlling method and wireless ethernet network system | |
CN110175139A (zh) | 一种usb设备的通用调试方法及usb设备 | |
CN113617020B (zh) | 游戏控制方法、装置、存储介质、服务器以及终端 | |
CN112328356B (zh) | Android与Windows的互通方法、装置、存储介质及计算机设备 | |
CN105100004A (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: 20151125 |
|
RJ01 | Rejection of invention patent application after publication |