简体   繁体   English

基于Android网络的模拟器Manymo,它是如何工作的?

[英]Android web-based Emulator Manymo, how does it work?

I was looking for an online emulator for Android and I found this: https://www.manymo.com 我正在寻找Android在线模拟器 ,我发现了这个: https//www.manymo.com

Most of android developer might be familiar with this or may be not, as its quit new in the market. 大多数Android开发人员可能熟悉这一点,或者可能不熟悉,因为它在市场上已经不再使用了。

So as developer, first thought came in my mind is, how it works (many of you will think after checking this out). 所以作为开发人员,我首先想到的是, 如何工作的 (很多人会在查看之后再想)。

My research: At front-end it is using Canvas, which is taking input from user and displaying response as an screen image. 我的研究:在前端它使用的是Canvas,它从用户那里获取输入并将响应显示为屏幕图像。 So front end is pretty clear to me. 所以前端对我来说非常清楚。

Now at back-end I am not pretty sure, what technique they are using (regardless programming language or platform). 现在在后端,我不太确定,他们正在使用什么技术(无论编程语言或平台)。 What I think is they run a Emulator instance for each session on there server and some how they capture its screen and invoke input at certain places of screen. 我认为他们为服务器上的每个会话运行一个Emulator实例,以及它们如何捕获屏幕并在屏幕的某些位置调用输入。

So the confusing part is, how they are sending inputs to Emulator and geting screen of emulator, at server side? 令人困惑的部分是,他们如何向服务器端的模拟器和仿真器发送屏幕发送输入?

Any clue will be helpful. 任何线索都会有所帮助。

It seems they are using noVNC Client (see HTML Source). 它们似乎正在使用noVNC客户端(请参阅HTML源代码)。

On Server side they can use any Emulator with VNC Support. 在服务器端,他们可以使用任何具有VNC支持的仿真器。

The inefficient-but-expedient solution is to use existing testing frameworks or their underlying engines, like ChimpChat. 低效但有利的解决方案是使用现有的测试框架或其底层引擎,如ChimpChat。

The efficient-but-tedious solutions include: 高效但繁琐的解决方案包括:

  • Hooking into qemu , the emulation engine that drives the Android emulator, and/or 连接到qemu ,驱动Android模拟器的模拟引擎,和/或

  • Running modified emulator images, with modify firmware, that enable this 运行带有修改固件的修改后的仿真器映像,以实现此目的

I think they are sending inputs to emulator using monkeyrunner script.we have used monkeyrunner script for generating screenshots for one of our android application. 我认为他们正在使用monkeyrunner script向模拟器发送输入。我们使用monkeyrunner脚本为我们的一个Android应用程序生成屏幕截图。 but i don,t know which technique they are using to run emulator instance for each session because emulator required lots of CPU resource. 但我不知道他们使用哪种技术来为每个会话运行模拟器实例,因为模拟器需要大量的CPU资源。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM