CN105893067A - 基于PC机实现运行Android***应用的方法 - Google Patents
基于PC机实现运行Android***应用的方法 Download PDFInfo
- Publication number
- CN105893067A CN105893067A CN201510298799.1A CN201510298799A CN105893067A CN 105893067 A CN105893067 A CN 105893067A CN 201510298799 A CN201510298799 A CN 201510298799A CN 105893067 A CN105893067 A CN 105893067A
- Authority
- CN
- China
- Prior art keywords
- data
- android
- driven
- 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
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
一种基于PC机实现运行Android***应用的方法,先配置一运行有Android***的Android设备;所述方法包括:PC机和Android设备上分别运行数据驱动发送模块和数据驱动接收模块,在数据驱动接收模块与数据驱动发送模块之间建立socket连接;数据驱动接收模块将Android设备的显示内容发送给PC机,由PC机进行显示;数据驱动发送模块接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给数据驱动接收模块;Android设备对所述操作指令进行处理,并执行相应操作,从而实现PC机运行Android***的运用。本发明的优点:使用键盘和鼠标来操控Android设备的应用,操作更熟悉且更加方便快捷。
Description
技术领域
本发明具体涉及一种基于PC机实现运行Android***应用的方法。
背景技术
随着智能手机的蓬勃发展,手机上的应用,游戏等层出不穷。但有些应用如游戏等在手机上操作会有很多不方便的地方,比如玩游戏时,手机电量下降太快,发热高,容易被来电,短信打断,屏幕小,操作不便等。很多人期望能够在个人PC机上使用同样的应用、游戏。但目前的实际情况是很多应用只有手机版本,并无PC机版本。当前的解决方案是在PC机上使用模拟器模拟手机运行相关应用,但存在运行速度慢,兼容性差等诸多问题。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明中数据驱动接收模块与数据驱动发送模块之间交互的原理框图。
发明内容
本发明要解决的技术问题,在于提供一种基于PC机实现运行Android***应用的方法。
本发明是这样实现的:一种基于PC机实现运行Android***应用的方法,先配置一运行有Android***的Android设备;所述方法包括以下步骤:
步骤1:PC机和Android设备上分别运行一数据驱动发送模块和一数据驱动接收模块,在所述数据驱动接收模块与数据驱动发送模块之间建立socket连接;
步骤2:数据驱动接收模块将Android设备的显示内容发送给PC机,由PC机进行显示;所述数据驱动发送模块接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给所述数据驱动接收模块;
步骤3:Android设备对所述操作指令进行处理,并执行相应操作,从而实现PC机运行Android***的运用。
进一步地,所述步骤1的具体操作方法如下:
PC机上运行一数据驱动发送模块,所述数据驱动发送模块内置有Android***的adb工具;数据驱动发送模块调用adb工具,使用adb forward命令,将PC机的一网络通信端口映射到Android设备的另一网络通信端口,一Linux应用程序数据驱动接收模块即以root身份运行在Android设备上,从而所述数据驱动接收模块与数据驱动发送模块之间建立socket连接。
进一步地,所述步骤2的具体操作方法如下:
数据驱动发送模块在PC机上建立一个窗口,所述窗口显示Android设备的显示内容,并通过Windows消息循环,接受对所述窗口进行的所有键盘操作和鼠标操作消息,并对所述键盘操作和鼠标操作消息进行数据封装后发送给所述数据驱动接收模块;
进一步地,数据驱动发送模块对所述键盘操作和鼠标操作消息进行数据封装,其具体操作方法如下:
(1)针对于键盘操作,将***作的键盘键的虚拟键码转换为Android***中的键码,并按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令;
(2)针对于鼠标操作,将鼠标左键按下、鼠标左键弹起和鼠标左键按下时拖动处理为三种操作类型,将光标指向转换为光标位置相对于所述窗口左上角的坐标,然后按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令。
进一步地,所述步骤3的具体操作方法如下:
A.当数据驱动接收模块启动时,遍历Android设备的/dev/input下所有 虚拟设备文件,并根据Linux内核公布的虚拟输入设备文件协议,识别并选择Android设备中的一键盘设备和一多点触控设备,然后打开其相应的虚拟设备文件;
B.数据驱动接收模块接收所述键盘操作和鼠标操作消息,按照时间先后依次写入所述虚拟设备文件中;
C.Android设备上的Android***根据所述虚拟输入设备文件协议,从所述虚拟设备文件中读取所述键盘操作和鼠标操作消息并进行处理,即将PC机的键盘输入消息和鼠标输入消息转换为Android***的输入消息。
本发明的优点在于:使用PC机的键盘和鼠标来操控Android设备的应用,操作更熟悉且更加方便快捷,更符合操控需求;避免了在手机上运行应用的弊端,解决了使用手机运行某些应用的不方便;实现了WINDOWS***与安卓***的双融合,同时在多任务***下共存,并无缝交互(即指使用同一套鼠标键盘,鼠标移动到Windows下面时键鼠控制Windows应用,移动到Android窗口时,键鼠自动控制Android应用)。
具体实施方式
一种基于PC机实现运行Android***应用的方法,先配置一运行有Android***的Android设备;
所述方法包括以下步骤:
步骤1:PC机和Android设备上分别运行一数据驱动发送模块和一数据驱动接收模块,在所述数据驱动接收模块与数据驱动发送模块之间建立socket连接;具体地:
PC机上运行一数据驱动发送模块,所述数据驱动发送模块内置有Android***的adb工具;数据驱动发送模块调用adb工具,使用adb forward命令,将PC机的一任选的网络通信端口映射到Android设备的另一任选的网络通信端口(例如:adb forward tcp:6100tcp:7100;即可将PC机上6100网络通信端口映射到Android设备的7100端口,其中6100端口和7100端 口也可换为其他端口);如此,在PC机上即可以使用操作***提供的API,与Android设备中的Android***建立标准的socket连接。然后在Android设备的Android***中,会以root身份运行一个标准的Linux应用程序(无界面)即数据驱动接收模块,并且会在每次Android***启动时自动运行。
如图1所示,数据驱动发送模块是用于接收底层键鼠驱动事件、Launcher指令集和用户控制指令,并进行相应的数据处理和封装,通过SOCKET发送到数据驱动接收模块,数据驱动接收模块根据接收到的指令做出相应的处理并反馈到PC机上。
步骤2:数据驱动接收模块将Android设备的显示内容发送给PC机,由PC机进行显示;所述数据驱动发送模块接收键盘操作和鼠标操作消息,并转换成Android设备可识别的操作指令,然后发送给所述数据驱动接收模块;具体地:
数据驱动发送模块在PC机上建立一个窗口,所述窗口显示Android设备的显示内容,并通过Windows消息循环,接受对所述窗口进行的所有键盘操作和鼠标操作消息(可使用API或各类GUI框架实现),并对所述键盘操作和鼠标操作消息进行数据封装后发送给所述数据驱动接收模块;
数据驱动发送模块对所述键盘操作和鼠标操作消息进行数据封装的具体操作方法如下:
(1)针对于键盘操作,将***作的键盘键的虚拟键码转换为Android***中的键码(可以通过一个表格来转换),并按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令;
(2)针对于鼠标操作,将鼠标左键按下、鼠标左键弹起和鼠标左键按下时拖动处理为三种操作类型,将光标指向转换为光标位置相对于所述窗口左上角的坐标,然后按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令。
步骤3:Android设备对所述操作指令进行处理,并执行相应操作,从 而实现PC机运行Android***的运用;具体地:
A.当数据驱动接收模块启动时,遍历Android设备的/dev/input下所有虚拟设备文件,并根据Linux内核公布的虚拟输入设备文件协议,识别Android设备中的所有键盘设备和多点触控设备,并任选其中一个键盘设备和一个多点触控设备,然后根据Linux内核公布的虚拟输入设备文件协议打开其相应的虚拟设备文件;Linux内核公布的虚拟输入设备文件协议可以在https://www.kernel.org/doc/Documentation/input/event-codes.***。
B.数据驱动接收模块接收所述键盘操作和鼠标操作消息,按照时间先后依次写入所述虚拟设备文件中,具体写入的内容严格遵循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工具,使用adb forward命令,将PC机的一网络通信端口映射到Android设备的另一网络通信端口,一Linux应用程序数据驱动接收模块即以root身份运行在Android设备上,从而所述数据驱动接收模块与数据驱动发送模块之间建立socket连接。
3.如权利要求1所述的基于PC机实现运行Android***应用的方法,其特征在于:所述步骤2的具体操作方法如下:
数据驱动发送模块在PC机上建立一个窗口,所述窗口显示Android设备的显示内容,并通过Windows消息循环,接受对所述窗口进行的所有键盘操作和鼠标操作消息,并对所述键盘操作和鼠标操作消息进行数据封装后发送给所述数据驱动接收模块。
4.如权利要求3所述的基于PC机实现运行Android***应用的方法,其特征在于:数据驱动发送模块对所述键盘操作和鼠标操作消息进行数据封装,其具体操作方法如下:
(1)针对于键盘操作,将***作的键盘键的虚拟键码转换为Android***中的键码,并按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令;
(2)针对于鼠标操作,将鼠标左键按下、鼠标左键弹起和鼠标左键按下时拖动处理为三种操作类型,将光标指向转换为光标位置相对于所述窗口左上角的坐标,然后按照数据驱动接收模块和数据驱动发送模块之间的通信协议封装为操作指令。
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 |
---|---|---|---|
CN201510298799.1A CN105893067A (zh) | 2015-06-03 | 2015-06-03 | 基于PC机实现运行Android***应用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510298799.1A CN105893067A (zh) | 2015-06-03 | 2015-06-03 | 基于PC机实现运行Android***应用的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105893067A true CN105893067A (zh) | 2016-08-24 |
Family
ID=57001776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510298799.1A Pending CN105893067A (zh) | 2015-06-03 | 2015-06-03 | 基于PC机实现运行Android***应用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893067A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980553A (zh) * | 2017-03-28 | 2017-07-25 | 北京奇虎科技有限公司 | 一种基于事件进行数据传递的方法及设备 |
CN108008992A (zh) * | 2017-11-24 | 2018-05-08 | 南昌黑鲨科技有限公司 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
CN109005296A (zh) * | 2018-08-30 | 2018-12-14 | 安徽声讯信息技术有限公司 | 一种基于手机语音控制电脑的控制***及方法 |
CN110108294A (zh) * | 2019-04-17 | 2019-08-09 | 百度在线网络技术(北京)有限公司 | Arhud导航的运行***和方法 |
CN110764840A (zh) * | 2019-09-29 | 2020-02-07 | 北京东软望海科技有限公司 | 一种无线调试安卓设备的方法、装置及*** |
JP2021504826A (ja) * | 2017-11-24 | 2021-02-15 | シャンハイ ジョンリエン テクノロジーズ リミテッド,カンパニーShanghai Zhonglian Technologies Ltd.,Co | アプリケーションプログラムの起動方法、起動装置およびコンピュータ読み取り可能な記憶媒体 |
CN112988675A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN113687888A (zh) * | 2021-05-18 | 2021-11-23 | 麒麟软件有限公司 | 在Linux***上兼容运行Android应用的文件分享方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154287A1 (en) * | 2009-12-18 | 2011-06-23 | Sybase, Inc. | Visual Generation of Mobile Applications Based on Data Models |
CN102364436A (zh) * | 2011-06-24 | 2012-02-29 | 浙大网新科技股份有限公司 | 实现WinCE/Android混合API调试的方法及*** |
CN102446083A (zh) * | 2011-09-07 | 2012-05-09 | 福州博远无线网络科技有限公司 | PC端读取并保存Android手机屏幕显示内容的方法 |
CN102880508A (zh) * | 2012-09-14 | 2013-01-16 | 深圳市中兴移动通信有限公司 | 一种实现PC操控Android终端的方法及*** |
CN103744763A (zh) * | 2013-12-25 | 2014-04-23 | 广东明创软件科技有限公司 | 自动化测试中pc端同步控制移动终端的方法 |
-
2015
- 2015-06-03 CN CN201510298799.1A patent/CN105893067A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154287A1 (en) * | 2009-12-18 | 2011-06-23 | Sybase, Inc. | Visual Generation of Mobile Applications Based on Data Models |
CN102364436A (zh) * | 2011-06-24 | 2012-02-29 | 浙大网新科技股份有限公司 | 实现WinCE/Android混合API调试的方法及*** |
CN102446083A (zh) * | 2011-09-07 | 2012-05-09 | 福州博远无线网络科技有限公司 | PC端读取并保存Android手机屏幕显示内容的方法 |
CN102880508A (zh) * | 2012-09-14 | 2013-01-16 | 深圳市中兴移动通信有限公司 | 一种实现PC操控Android终端的方法及*** |
CN103744763A (zh) * | 2013-12-25 | 2014-04-23 | 广东明创软件科技有限公司 | 自动化测试中pc端同步控制移动终端的方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980553A (zh) * | 2017-03-28 | 2017-07-25 | 北京奇虎科技有限公司 | 一种基于事件进行数据传递的方法及设备 |
CN106980553B (zh) * | 2017-03-28 | 2021-07-23 | 北京奇虎科技有限公司 | 一种基于事件进行数据传递的方法及设备 |
CN108008992B (zh) * | 2017-11-24 | 2020-08-18 | 南昌黑鲨科技有限公司 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
WO2019100898A1 (zh) * | 2017-11-24 | 2019-05-31 | 南昌黑鲨科技有限公司 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
JP2021504823A (ja) * | 2017-11-24 | 2021-02-15 | シャンハイ ジョンリエン テクノロジーズ リミテッド,カンパニーShanghai Zhonglian Technologies Ltd.,Co | 入力操作処理方法、処理装置およびコンピュータ読み取り可能な記憶媒体 |
JP2021504826A (ja) * | 2017-11-24 | 2021-02-15 | シャンハイ ジョンリエン テクノロジーズ リミテッド,カンパニーShanghai Zhonglian Technologies Ltd.,Co | アプリケーションプログラムの起動方法、起動装置およびコンピュータ読み取り可能な記憶媒体 |
CN108008992A (zh) * | 2017-11-24 | 2018-05-08 | 南昌黑鲨科技有限公司 | 一种输入操作处理方法、处理装置及计算机可读存储介质 |
CN109005296A (zh) * | 2018-08-30 | 2018-12-14 | 安徽声讯信息技术有限公司 | 一种基于手机语音控制电脑的控制***及方法 |
CN110108294A (zh) * | 2019-04-17 | 2019-08-09 | 百度在线网络技术(北京)有限公司 | Arhud导航的运行***和方法 |
CN110764840A (zh) * | 2019-09-29 | 2020-02-07 | 北京东软望海科技有限公司 | 一种无线调试安卓设备的方法、装置及*** |
CN110764840B (zh) * | 2019-09-29 | 2023-11-03 | 望海康信(北京)科技股份公司 | 一种无线调试安卓设备的方法、装置及*** |
CN112988675A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN112988675B (zh) * | 2021-03-12 | 2023-02-21 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN113687888A (zh) * | 2021-05-18 | 2021-11-23 | 麒麟软件有限公司 | 在Linux***上兼容运行Android应用的文件分享方法 |
CN113687888B (zh) * | 2021-05-18 | 2023-08-08 | 麒麟软件有限公司 | 在Linux***上兼容运行Android应用的文件分享方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893067A (zh) | 基于PC机实现运行Android***应用的方法 | |
CN105094839A (zh) | 基于PC机实现运行Android***应用的方法 | |
US10108256B2 (en) | Systems and methods for processing incoming events while performing a virtual reality session | |
US20210168194A1 (en) | App remote control method and related devices | |
CN103480153A (zh) | 一种智能手机模拟电脑游戏手柄的方法 | |
CN110083324A (zh) | 图像绘制的方法、装置、电子设备及计算机存储介质 | |
CN104679334A (zh) | 一种数据交互显示***及方法 | |
CN104218963A (zh) | 执行控制操作的方法、可穿戴设备和终端 | |
CN102209146B (zh) | 一种智能手机模拟平板电脑游戏杆的***与方法 | |
CN103634169A (zh) | 一种基于智能终端实现的家用电器控制*** | |
CN205353936U (zh) | 基于vr设备的数据交互*** | |
CN103634419B (zh) | 终端的远程控制方法及终端 | |
CN102637127A (zh) | 一种控制鼠标模块的方法及电子设备 | |
CN105302364B (zh) | 遥控安卓设备的方法及*** | |
CN103995567A (zh) | 一种双***智能交互一体机及其双***切换实现方法 | |
CN103150117A (zh) | 一种关闭应用或界面的方法及装置 | |
CN102819392A (zh) | 控制ppt的方法和*** | |
CN105262880A (zh) | 一种应用于WiFi网络的手机控制演示*** | |
CN109885236B (zh) | 基于移动设备实现与远程***桌面进行交互式操作的方法 | |
CN207008557U (zh) | 一种基于手机app控制的有线/蓝牙ble的键盘和鼠标 | |
CN202976058U (zh) | 蓝牙无线游戏控制器 | |
CN104571913A (zh) | 一种模拟鼠标控制的***和方法 | |
CN203219317U (zh) | 基于无线局域网络的家电控制*** | |
CN106445281B (zh) | 一种调整智能终端操作键位置的方法及*** | |
CN102722152B (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: 20160824 |
|
RJ01 | Rejection of invention patent application after publication |