CN114866542B - 一种在云手机上实现真机模拟的***及方法 - Google Patents
一种在云手机上实现真机模拟的***及方法 Download PDFInfo
- Publication number
- CN114866542B CN114866542B CN202210419427.XA CN202210419427A CN114866542B CN 114866542 B CN114866542 B CN 114866542B CN 202210419427 A CN202210419427 A CN 202210419427A CN 114866542 B CN114866542 B CN 114866542B
- Authority
- CN
- China
- Prior art keywords
- sdk
- cloud
- machine
- drive
- real
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 13
- 210000001503 joint Anatomy 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72484—User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种在云手机上实现真机模拟的***及方法,所述***包括:云手机端,其上设置云机驱动SDK,云机驱动SDK负责请求、接收真机端SDK的信息,处理提供给云手机使用,对于真机输入设备操作,根据每个设备单独建立一个虚拟设备驱动,云机驱动SDK对接每个虚拟设备驱动,接收各虚拟设备驱动的请求转发给真机端真机驱动SDK,获取真机端真机驱动SDK返回的数据传给相应的虚拟设备驱动,从而实现真机输入设备模拟的功能;真机端,其上设置真机驱动SDK,根据接收到的请求或监听到相应的按键和触控事件时,获取相应的信息传送给云机端云机驱动SDK。
Description
技术领域
本发明涉及云手机技术领域,特别是涉及一种在云手机上实现真机模拟的***及方法。
背景技术
云手机是通过在云服务器端通过虚拟容器的方式,将一台云服务器划分成多个虚拟机来独立运行的android***,然后提供远程操作让手机等终端设备操作使用,使得各种应用运行在云端,方便管理,可以大大减少真实手机本地资源的消耗。
使用云手机的过程中,真机与云手机交互比较多,由于云手机不具备某些硬件设备,云手机需要支持真机的很多功能,比如:需要在云手机模拟显示真机相关参数配置;在真机端操作云手机的时候,就需要实现通过手机按键、触控、外接键盘、外接游戏手柄等进行远程操控;在云手机上进行打电话、发短信等操作。另外云手机并不具备摄像、麦克风输入、传感器、定位等功能,导致使用云手机应用时,用户交互体验受到很大的限制。随着云手机的应用场景越来越多,各种交互功能也越来越多,对云手机的要求也越来越接近真机,对数据的实时性、兼容性、可扩展都有更新的要求,需要从全局去设计一个真机与云手机交互,实现各种真机模拟的功能。
目前有些方案提出通过将真机设备的数据转发到云机进行交互,主要是对单个功能进行了考虑,更多的从各自的业务进行了设计,有的还依赖于硬件,并没有从全局去考虑整个真机模拟的设计,兼容性、扩展性和移植性缺少考虑,例如公开号为CN110430441A的中国专利申请提出了一种云手机视频采集方法、***、装置及存储介质-公开,该方法主要讲述了通过手机本地摄像头进行视频采集,得到视频流后进行编码,再传到云机,可见该专利申请只针对摄像头这一项功能给出了一个大致的处理方法;又例如公开号为CN109495506B的中国专利公开了一种云手机的传感器数据输入方法和服务器,该方法给出可以从真机获取到各种传感器的数据,发送云机处理,但其只针对传感器这一项功能给出了一个大致的处理方法,没有全面去考虑所有的真机模拟功能,缺乏通用性。
发明内容
为克服上述现有技术存在的不足,本发明之一目的在于提供一种在云手机上实现真机模拟的***及方法,通过从全局去考虑,将真机模拟的功能分成设备信息数据、输入事件、移动通信和虚拟设备四类,对每类情况有针对的进行处理,保证最佳的效果,具备很好的通用性和课扩展性,从而实现在云手机上实现了硬件参数信息、按键触控操作、打电话发短信、定位、摄像头输入、麦克风输入、传感器等功能,基本涵盖了所有的真机模拟功能,在云手机也能体现真机一样的交互体验。
本发明之另一目的在于提供一种在云手机上实现真机模拟的***及方法,其使用的云机驱动SDK和真机驱动SDK可以以service的方式单独运行,或者集成APP中运行,对接***标准的SDK API,方便移植,兼容性好,不受硬件平台和软件***版本的影响,让上层感觉使用真实设备一样。
为达上述目的,本发明提出一种在云手机上实现真机模拟的***,包括:
云手机端,其上设置云机驱动SDK,云机驱动SDK负责请求、接收真机端SDK的信息,处理提供给云手机使用,对于真机输入设备操作,根据每个设备单独建立一个虚拟设备驱动,云机驱动SDK对接每个虚拟设备驱动,接收各虚拟设备驱动的请求转发给真机端真机驱动SDK,获取真机端真机驱动SDK返回的数据传给相应的虚拟设备驱动,从而实现真机输入设备模拟的功能;
真机端,其上设置真机驱动SDK,根据接收到的请求或监听到相应的按键和触控事件时,获取相应的信息传送给云机端云机驱动SDK。
优选地,对于设备信息数据,在***初始化时,所述云机驱动SDK从所述真机驱动SDK获取到设备参数信息,通过***接口设置设备参数,并从***读取相关参数,显示给用户。
优选地,在***初始化时,所述云机驱动SDK请求真机驱动SDK获取到设备参数信息,所述真机驱动SDK通过***接口getprop从真机获取并返回参数信息,所述云机驱动SDK通过***接口setprop设置设备参数,通过setting apk从***读取相关参数。
优选地,当所述真机驱动SDK监听远程操作界面捕获到相应的输入事件时,主动传给所述云机驱动SDK,所述云机驱动SDK将事件注入到***服务层,以便上层应用进行相应的响应。
优选地,当真机端通过按键、触控远程操作云机的时候,所述真机驱动SDK通过onKey()/onTouch()等函数监听捕获相应的输入事件,根据屏幕大小、宽高比等对坐标信息进行适配,编码成事件数据,实时传给所述云机驱动SDK。
优选地,所述云机驱动SDK解码还原按键和触控事件,通过调用injectInputEvent()***事件信息到Inputmanager***服务,云机应用监听到事件做相应的响应。
优选地,所述输入事件包括屏幕触控事件、手机按键事件、外接键盘事件、游戏手柄事件以及通过表映射把键盘事件或游戏手柄事件模拟成屏幕触控事件。
优选地,当所述云机驱动SDK检测到用户在云机上进行打电话或者发短信的响应请求时,转发给所述真机驱动SDK,所述真机端暂停云机远程界面,唤起本地打电话或者发短信的界面,处理完成后,自动恢复到云机远程桌面。
优选地,当要在云机端模拟真机输入设备操作时,所述云机驱动SDK通过本地socket对接虚拟设备驱动,接收虚拟设备驱动的请求转发给所述真机驱动SDK,所述真机驱动SDK对真实设备数据进行采集,对数据做预处理后传给所述云机驱动SDK,所述云机驱动SDK对数据进行预处理再传给相应的虚拟设备驱动,从而实现真机设备模拟的功能。
为达到上述目的,本发明还提供一种在云手机上实现真机模拟的方法,包括如下步骤:
步骤S1,***初始化时,云机驱动SDK从真机驱动SDK获取到设备参数信息,通过***接口设置设备参数,从***读取相关参数显示给用户;
步骤S2,当真机驱动SDK监听远程操作界面,捕获到相应的按键和触控事件,主动传给云机驱动SDK,云机驱动SDK将事件注入到Framework***服务层,以便上层应用进行相应的响应;
步骤S3,当云机驱动SDK检测到用户在云机上进行打电话或者发短信的响应请求,转发给真机驱动SDK,真机暂停云机远程界面,唤起本地打电话或者发短信的界面;
步骤S4,当云机驱动SDK接收到接收虚拟设备驱动的请求转发给真机驱动SDK,真机驱动SDK对真实设备数据进行采集,对数据做预处理传给云机驱动SDK,云机驱动SDK对数据进行预处理后,再传给虚拟设备驱动,从而实现真机设备模拟的功能。
与现有技术相比,本发明一种在云手机上实现真机模拟的***及方法,通过从全局去考虑,将真机模拟的功能分成设备信息数据、输入事件、移动通信和虚拟设备四类,对每类情况有针对的进行处理,保证最佳的效果,具备很好的通用性和课扩展性,从而实现在云手机上实现了硬件参数信息、按键触控操作、打电话发短信、定位、摄像头输入、麦克风输入、传感器等功能,基本涵盖了所有的真机模拟功能,在云手机也能体现真机一样的交互体验。
附图说明
图1为本发明一种在云手机上实现真机模拟的***的***结构图;
图2为本发明具体实施例的***结构图;
图3为本发明具体实施例中输入事件的处理过程图;
图4为本发明具体实施例中相机模拟的处理流程图;
图5为本发明一种在云手机上实现真机模拟的方法的步骤流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种在云手机上实现真机模拟的***的***结构图,图2为本发明实施例中在云手机上实现真机模拟的***的架构图。如图1及图2所示,本发明一种在云手机上实现真机模拟的***,包括:
云手机端10,其上设置云机驱动SDK,云机驱动SDK负责请求、接收真机端SDK的信息,处理提供给云手机使用,对于真机输入设备操作,根据每个设备单独建立一个虚拟设备驱动,通过本地socket对接每个虚拟设备驱动,云机驱动SDK接收虚拟设备驱动的请求转发给真机驱动SDK,获取真机驱动SDK返回的数据传给相应的虚拟设备驱动,从而实现真机输入设备模拟的功能。
真机端20,其上设置真机驱动SDK,根据接收到的请求或监听到相应的按键和触控事件时,获取相应的信息传送给云机驱动SDK。
在本发明具体实施例中,真机模拟的场景主要包括以下四类:
1、设备信息数据,包括各种硬件参数配置等;
2、输入事件,包括触控和按键信息;
3、移动通信,包括电话、短信等
4、虚拟设备,包括传感器、摄像头、麦克风、GPS等
对于四类场景,以下分别具体说明
一、对于设备信息数据,***初始化的时候,云机驱动SDK从真机驱动SDK获取到设备参数信息,通过***接口setprop设置设备参数,并从***读取相关参数,并显示给用户;
具体地说,为了让云手机的硬件参数显示和终端同步,在云机模拟客户真机的各个硬件参数细节。***初始化的时候,云机驱动SDK请求真机驱动SDK获取到设备参数信息,真机驱动SDK通过***接口getprop从真机获取参数信息后并返回参数信息至云机驱动SDK,云机驱动SDK通过***接口setprop设置设备参数,将参数设置到云机,通过settingapk就可以从***读取相关参数,并显示给用户。通过该方法可以实现真机与云机的设备信息同步,用户使用云机可以看到与真机一样的信息。
在本发明具体实施例中,这些可以模拟的信息属性包括:
·ro.product.manufacturer(硬件制造商)
·ro.product.model(产品模型)
·ro.product.board(主板)
·ro.product.brand(***定制商)
·ro.baseband(基带厂商信息)
·ro.hardware(CPU厂商)
·ro.build.id(ROM的build id)
·ro.build.product(ROM的产品型号)
·ro.build.version.incremental(ROM的build版本)
·ro.serialno(设备序列号)
·mac(Wifi MAC地址)
·gsm.version.baseband(基带版本)
·imei(国际移动设备识别码,序列号)
·imeid(国际移动设备识别码(CDMA制式),序列号)
·sim.number(sim***码)
·sim.serialno(sim卡序列号)
·sim.operator.numeric(sim卡运营商标识码)
·sim.operator.nam(sim卡运营商名称)
·imsi(sim卡的国际移动用户识别码)
·wifi.ssid(wifi的名称)
·bluetooth.name(蓝牙名称)
·bluetooth.addr(蓝牙mac地址)
二、当真机通过按键、触控远程操作云机的时候,真机驱动SDK监听远程操作界面,捕获相应的按键和触控事件,主动传给云机驱动SDK,云机驱动SDK接收到事件后将事件注入到Framework***服务层,上层应用则会做相应的响应。
具体地说,如图3所示,当真机通过按键、触控远程操作云机的时候,真机驱动SDK通过onKey()/onTouch()等函数监听捕获相应的按键和触控事件,根据屏幕大小、宽高比等对坐标信息进行适配,编码成事件数据,通过Datachannel实时传给云机驱动SDK;云机驱动SDK解码还原按键和触控事件,通过调用injectInputEvent()***事件信息到Inputmanager***服务,云机应用监听到事件做相应的响应。
在本发明具体实施例中,需要模拟的输入事件包括:
·屏幕触控事件
·手机按键事件
·外接键盘事件
·游戏手柄事件
·通过表映射把键盘事件或游戏手柄事件模拟成屏幕触控事件
其中,各事件编码格式如下:
1、触摸事件的编码格式如下表1所示:
表1
2、按键事件的编码格式如下表2所示:
表2
0~1 | 2~5 | 6~13 | 14~21 | 22~25 | 26~29 | 30~33 | 34~37 |
CTRL_KEY | length | downTime | eventTime | action | modifiers | keyCode | scanCode |
3、手柄事件的编码格式如下表3所示:
表3
0~1 | 2~5 | 6~n |
CTRL_GAMEPAD | length | 数据体 |
通过本发明,云手机可以实时的响应真机端的按键和触控信息,实现真机远程操控,通过分辨率、宽高比进行坐标调整,自动适应云机与真机的屏幕大小,避免操作聚焦异常;考虑到数据量小,通过Datachannel发送,充分保证数据可靠性发送,保证每个操作都按时间顺序到达,避免操作无响应;SDK全部调用***API,耦合性小,集成简单。
三、当用户在云手机上进行打电话或者发短信的时候,云机驱动SDK检测到响应的请求,则转发给真机驱动SDK,真机暂停云机远程界面,唤起本地打电话或者发短信的界面,当处理完成后,自动恢复到云机远程桌面。
具体地说,当用户在云机上进行打电话或者发短信的时候,云机驱动SDK检测到响应的请求,转发给真机驱动SDK,真机暂停云机远程界面,通过am start唤起本地打电话或者发短信的界面,用户进行操作,处理完成后,自动恢复到云机远程桌面。
通过本发明,可以便捷地实现在云手机调用真机打电话、发短信的功能,无需单独执行退出云机操作,方便使用。
四、当要在云机端模拟真机输入设备操作时,比如传感器、摄像头、麦克风、GPS等,云机根据每个设备单独建立一个虚拟设备驱动,云机驱动SDK通过本地socket对接虚拟设备驱动,接收虚拟设备驱动的请求转发给真机驱动SDK,真机驱动SDK对真实设备数据进行采集,对数据做预处理(如编码处理等)传给云机驱动SDK,云机驱动SDK对数据进行预处理(比如解码处理等),再传给相应的虚拟设备驱动,从而实现真机设备模拟的功能。
在本发明具体实施例中,通过在HAL层建立各虚拟设备驱动,并采用统一的网络适配模块与云机驱动SDK通信,集成简单,只需要修改HAL层对应的so就可以实现,方便修改部署,可扩展性好,方便后期继续增加新的虚拟驱动。
以下分别具体说明传感器、摄像头、麦克风的模拟过程:
1、传感器模拟
真机驱动SDK从***服务获取到传感器数据,编码后通过Datachannel实时传给云机驱动SDK,云机驱动SDK进行解码,再通过与HAL层虚拟设备传感器驱动建立的socket连接,将传感器数据传入到虚拟设备传感器驱动,虚拟设备传感器驱动解析传感器数据并传递给上层的Android***,从而实现传感器事件模拟。
在本发明具体实施例中,传感器事件编码格式如下表4:
表4
0~1 | 2~5 | 6~13 | 14~17 | 18~21 | 22~25 | 26~33 | 34~n |
CTRL_SENSOR | length | timestamp | sensorType | valueCount | accuracy | value.0 | value.n |
本发明可以支持的传感器包括:
·加速度传感器(Sensor.TYPE_ACCELEROMETER)
·磁场传感器(Sensor.TYPE_MAGNETIC_FIELD)
·方向传感器(Sensor.TYPE_ORIENTATION)
·陀螺仪传感器(Sensor.TYPE_GYROSCOPE)
·光传感器(Sensor.TYPE_LIGHT)
·距离传感器(Sensor.TYPE_PROXIMITY)
·重力传感器(Sensor.TYPE_GRAVITY)
·线性加速度传感器(Sensor.TYPE_LINEAR_ACCELERATION)
·旋转矢量传感器(Sensor.TYPE_ROTATION_VECTOR)
·步数检测传感器(Sensor.TYPE_STEP_DETECTOR)
·步数计数传感器(Sensor.TYPE_STEP_COUNTER)
·运动检测传感器(Sensor.TYPE_MOTION_DETECT)
·地磁旋转矢量传感器(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR)
通过本发明,云手机可以实时的响应真机端的各种传感器信息,在云机实现各种传感操作。考虑到数据量小,通过Datachannel发送,充分保证数据可靠性发送,保证每个传感都按时间顺序到达,避免操作无响应;云机驱动SDK通过与虚拟设备传感器驱动进行对接,便集成,容易扩展,通用性好。
2、麦克风模拟
真机驱动SDK用MediaRecorder.AudioSource.VOICE_COMMUNICATION方式创建AudioRecor,并调用Acandroid.media.audiofx.AcousticEchoCanceler类的setEnabled(true)函数进行回声消除,调用android.media.audiofx.NoiseSuppressor类的setEnabled(true)函数进行降噪。成功创建Audio Record后,调用AudioRecord的read()函数获取PCM数据,对PCM数据进行AAC格式编码后,通过Datachannel发送传输到云机驱动SDK,云机驱动SDK将AAC数据解码成PCM数据,再通过本地socket连接把PCM数据传入虚拟Audio设备驱动,虚拟Audio驱动解析传输给上层的Android***,从而完成麦克风模拟。
在本发明具体实施例中,Audio编码格式如下表5:
表5
通过本发明,云手机可以实时的抓取真机端的麦克风audio输入数据,在云机实现语音识别等功能。通过Datachannel发送,充分保证数据可靠性发送,避免断音情况;云机驱动SDK通过与虚拟设备Audio驱动进行对接,便于集成,容易扩展,通用性好。
3、相机模拟
如图4所示,真机驱动SDK调用android.hardware.Camera的open()函数打开摄像头,调用Camera的setPreviewCallbackWithBuffer设置PreviewCallback,在PreviewCallback的onPreviewFrame回调函数获取YUV数据。对YUV数据进行H264视频编码后传输到云机驱动SDK,云机驱动SDK对H264视频解码成YUV数据,再通过本地socket连接把YUV数据传入虚拟camera设备驱动,虚拟camera驱动解析传输给上层的Android***,从而完成相机模拟。
在本发明具体实施例中,视频编码格式如下表6:
表6
通过本发明,云手机可以实时的抓取真机端的摄像头video输入数据,在云手机实现拍照、录像等功能。通过Videochannel发送,保证数据的快速发送,减低延时,增强体验效果;云机驱动SDK通过与Camera虚拟设备驱动进行对接,便集成,容易扩展,通用性好。
在本发明具体实施例中,云机驱动SDK和真机驱动SDK可以以service的方式单独运行,或者集成APP中运行,对接***标准的SDK API。
在本发明具体实施例中,云机驱动SDK和真机驱动SDK的通信,可以将数据分为数据和视频个通道进行传输,既保证数据的可靠性,也保证低延时,从而在云机上面体验真机一样实时。
图5为本发明一种在云手机上实现真机模拟的方法的步骤流程图。如图5所示,本发明一种在云手机上实现真机模拟的方法,包括如下步骤:
步骤S1,***初始化时,云机驱动SDK从真机驱动SDK获取到设备参数信息,通过***接口设置设备参数,从***读取相关参数,并显示给用户。
具体地,在***初始化的时候,云机驱动SDK请求真机驱动SDK获取设备参数信息,真机驱动SDK通过***接口getprop从真机获取并返回参数信息,云机驱动SDK通过***接口setprop设置设备参数,通过setting apk就可以从***读取相关参数,并显示给用户。
步骤S2,当真机驱动SDK监听远程操作界面,捕获到相应的按键和触控事件,主动传给云机驱动SDK,云机驱动SDK将事件注入到Framework***服务层,以便上层应用进行相应的响应。
具体地说,当真机通过按键、触控远程操作云机的时候,真机驱动SDK通过onKey()/onTouch()等函数监听捕获相应的按键和触控事件,根据屏幕大小、宽高比等对坐标信息进行适配,编码成事件数据,通过数据通道实时传给云机驱动SDK;云机驱动SDK解码还原按键和触控事件,通过调用injectInputEvent()***事件信息到Inputmanager***服务,云机应用监听到事件做相应的响应。
步骤S3,当云机驱动SDK检测到用户在云机上进行打电话或者发短信的响应请求,转发给真机驱动SDK,真机暂停云机远程界面,唤起本地打电话或者发短信的界面,处理完成后,自动恢复到云机远程桌面。
当用户在云机上进行打电话或者发短信的时候,云机驱动SDK检测到响应的请求,转发给真机驱动SDK,真机暂停云机远程界面,通过am start唤起本地打电话或者发短信的界面,用户进行操作,处理完成后,自动恢复到云机远程桌面。
步骤S4,当云机驱动SDK接收到接收虚拟设备驱动的请求转发给真机驱动SDK,真机驱动SDK对真实设备数据进行采集,对数据做预处理传给云机驱动SDK,云机驱动SDK对数据进行预处理后,再传给虚拟设备驱动,从而实现真机设备模拟的功能。
具体地,当要在云机端模拟真机输入设备操作时,比如传感器、摄像头、麦克风、GPS等,云机根据每个设备单独建立一个虚拟设备驱动,云机驱动SDK通过本地socket对接虚拟设备驱动,接收虚拟设备驱动的请求转发给真机驱动SDK,真机驱动SDK对真实设备数据进行采集,对数据做预处理(比如:编码等)传给云机驱动SDK,云机驱动SDK对数据进行预处理(比如:解码等),再传给虚拟设备驱动,从而实现真机设备模拟的功能。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (6)
1.一种在云手机上实现真机模拟的***,包括:
云机端,其上设置云机驱动SDK,云机驱动SDK负责请求并接收真机端真机驱动SDK的信息,处理提供给云手机使用,根据每个真机输入设备单独建立一个虚拟输入设备驱动,云机驱动SDK对接每个虚拟输入设备驱动,接收各虚拟输入设备驱动的请求转发给真机端真机驱动SDK,获取真机端真机驱动SDK返回的数据传给相应的虚拟输入设备驱动,从而实现真机输入设备模拟的功能;
真机端,其上设置真机驱动SDK,根据接收到的请求或监听到相应的输入事件时,获取相应的信息传送给云机端云机驱动SDK;
在***初始化时,所述云机驱动SDK从所述真机驱动SDK获取到设备参数,通过***接口设置设备参数,并从***读取设备参数,显示给用户;
当所述真机驱动SDK监听云机远程界面捕获到相应的输入事件时,主动传给所述云机驱动SDK,所述云机驱动SDK将输入事件注入到***服务层,以便上层应用进行相应的响应;
当所述云机驱动SDK检测到用户在云机端上进行打电话或者发短信的响应请求时,转发给所述真机驱动SDK,所述真机端暂停云机远程界面,唤起本地打电话或者发短信的界面,处理完成后,自动恢复到云机远程界面;
当要在云机端模拟真机输入设备的操作时,所述云机驱动SDK通过本地socket对接虚拟输入设备驱动,接收虚拟输入设备驱动的请求转发给所述真机驱动SDK,所述真机驱动SDK对真实输入设备数据进行采集,对数据做预处理后传给所述云机驱动SDK,所述云机驱动SDK对数据进行预处理再传给相应的虚拟输入设备驱动,从而实现真机输入设备模拟的功能。
2.如权利要求1所述的一种在云手机上实现真机模拟的***,其特征在于:在***初始化时,所述云机驱动SDK请求真机驱动SDK获取到设备参数,所述真机驱动SDK通过***接口getprop从真机端获取并返回设备参数,所述云机驱动SDK通过***接口setprop设置设备参数,通过setting apk从***读取设备参数。
3.如权利要求1所述的一种在云手机上实现真机模拟的***,其特征在于:当真机端通过按键、触控远程操作云机端的时候,所述真机驱动SDK通过onKey()/onTouch()函数监听捕获相应的输入事件,根据屏幕大小、宽高比对坐标信息进行适配,编码成事件数据,实时传给所述云机驱动SDK。
4.如权利要求3所述的一种在云手机上实现真机模拟的***,其特征在于:所述云机驱动SDK解码还原输入事件,通过调用injectInputEvent()***输入事件信息到Inputmanager***服务,云机应用监听到输入事件做相应的响应。
5.如权利要求4所述的一种在云手机上实现真机模拟的***,其特征在于:所述输入事件包括屏幕触控事件、手机按键事件、外接键盘事件、游戏手柄事件以及通过表映射把键盘事件或游戏手柄事件模拟成屏幕触控事件。
6.一种通过权利要求1至5任一所述的***在云手机上实现真机模拟的方法,包括如下步骤:
步骤S1,***初始化时,云机驱动SDK从真机驱动SDK获取到设备参数,通过***接口设置设备参数,从***读取设备参数显示给用户;
步骤S2,当真机驱动SDK监听云机远程界面,捕获到相应的输入事件,主动传给云机驱动SDK,云机驱动SDK将输入事件注入到Framework***服务层,以便上层应用进行相应的响应;
步骤S3,当云机驱动SDK检测到用户在云机端上进行打电话或者发短信的响应请求,转发给真机驱动SDK,真机端暂停云机远程界面,唤起本地打电话或者发短信的界面;
步骤S4,当云机驱动SDK接收到接收虚拟输入设备驱动的请求转发给真机驱动SDK,真机驱动SDK对真实输入设备数据进行采集,对数据做预处理传给云机驱动SDK,云机驱动SDK对数据进行预处理后,再传给虚拟输入设备驱动,从而实现真机输入设备模拟的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210419427.XA CN114866542B (zh) | 2022-04-20 | 2022-04-20 | 一种在云手机上实现真机模拟的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210419427.XA CN114866542B (zh) | 2022-04-20 | 2022-04-20 | 一种在云手机上实现真机模拟的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866542A CN114866542A (zh) | 2022-08-05 |
CN114866542B true CN114866542B (zh) | 2023-08-18 |
Family
ID=82631143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210419427.XA Active CN114866542B (zh) | 2022-04-20 | 2022-04-20 | 一种在云手机上实现真机模拟的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866542B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743964A (zh) * | 2014-12-29 | 2016-07-06 | 三星电子株式会社 | 用于使用虚拟装置驱动器共享资源的方法及其电子装置 |
CN111917988A (zh) * | 2020-08-28 | 2020-11-10 | 长沙摩智云计算机科技有限公司 | 一种云手机的远程摄像头应用方法、***及介质 |
CN113407044A (zh) * | 2021-07-16 | 2021-09-17 | 北京百度网讯科技有限公司 | 模拟终端手柄输入的方法、装置、设备、存储介质 |
WO2021218751A1 (zh) * | 2020-04-30 | 2021-11-04 | 华为技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
-
2022
- 2022-04-20 CN CN202210419427.XA patent/CN114866542B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743964A (zh) * | 2014-12-29 | 2016-07-06 | 三星电子株式会社 | 用于使用虚拟装置驱动器共享资源的方法及其电子装置 |
WO2021218751A1 (zh) * | 2020-04-30 | 2021-11-04 | 华为技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
CN111917988A (zh) * | 2020-08-28 | 2020-11-10 | 长沙摩智云计算机科技有限公司 | 一种云手机的远程摄像头应用方法、***及介质 |
CN113407044A (zh) * | 2021-07-16 | 2021-09-17 | 北京百度网讯科技有限公司 | 模拟终端手柄输入的方法、装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114866542A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111544886B (zh) | 一种画面显示的方法以及相关装置 | |
CN105430424B (zh) | 一种视频直播的方法、装置和*** | |
CN106412681B (zh) | 弹幕视频直播方法及装置 | |
US11153609B2 (en) | Method and apparatus for live streaming | |
EP2175647B1 (en) | Apparatus and method for providing emotion expression service in mobile communication terminal | |
WO2018192415A1 (zh) | 数据的直播方法、相关设备及*** | |
US10451648B2 (en) | Sensor control switch | |
CN112423076B (zh) | 一种音频投屏同步控制方法、设备及计算机可读存储介质 | |
CN105556955A (zh) | 视频通话装置和视频通话处理方法 | |
CN107908765B (zh) | 一种游戏资源处理方法、移动终端及服务器 | |
WO2017215661A1 (zh) | 一种场景音效的控制方法、及电子设备 | |
CN111124569B (zh) | 一种应用共享方法、电子设备及计算机可读存储介质 | |
CN112752353B (zh) | 一种连接方法及终端设备 | |
CN110719319B (zh) | 一种资源共享方法、装置、终端设备及存储介质 | |
CN112312144A (zh) | 一种直播方法、装置、设备和存储介质 | |
CN109144703A (zh) | 一种多任务的处理方法及其终端设备 | |
CN111475359B (zh) | 多消息交互场景下的***测试方法、装置和存储介质 | |
WO2020211692A1 (zh) | 信息交互方法及终端设备 | |
CN109889741A (zh) | 字幕显示方法、存储介质和移动终端 | |
CN109495769B (zh) | 视频通信方法、终端、智能电视、服务器及存储介质 | |
CN109729582B (zh) | 信息交互方法、装置及计算机可读存储介质 | |
CN111414097A (zh) | 一种交互方法、交互***和显示设备 | |
CN114866542B (zh) | 一种在云手机上实现真机模拟的***及方法 | |
CN111200648B (zh) | 一种业务调用方法、装置、终端设备及存储介质 | |
CN113056031A (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20220805 Assignee: Bee Assistant Co.,Ltd. Assignor: Guangdong yuewuji Network Technology Co.,Ltd. Contract record no.: X2023980043650 Denomination of invention: A System and Method for Realizing Real Machine Simulation on Cloud Phones Granted publication date: 20230818 License type: Common License Record date: 20231017 |
|
EE01 | Entry into force of recordation of patent licensing contract |