Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Most of android developer might be familiar with this or may be not, as its quit new in the market.

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. 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.

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.

like image 292
Ishan Dhingra Avatar asked Oct 08 '13 17:10

Ishan Dhingra


People also ask

How does Emulator work on Android?

An Android emulator is a tool that creates virtual Android devices (with software and hardware) on your computer. Note that: It is a program (a process that runs on your computer's operating system). It works by mimicking the guest device's architecture (more on that in a bit).

How do I use Google emulator?

Run your app on the emulator After you have created an Android Virtual Device (AVD), you can start the Android Emulator and run an app in your project: In the toolbar, select the AVD that you want to run your app on from the target device drop-down menu. Click Run.

What is Andriod emulator?

An Android emulator is an Android Virtual Device (AVD) that represents a specific Android device. You can use an Android emulator as a target platform to run and test your Android applications on your PC. Using Android emulators is optional.


3 Answers

It seems they are using noVNC Client (see HTML Source).

On Server side they can use any Emulator with VNC Support.

like image 187
u2ix Avatar answered Sep 27 '22 20:09

u2ix


The inefficient-but-expedient solution is to use existing testing frameworks or their underlying engines, like ChimpChat.

The efficient-but-tedious solutions include:

  • Hooking into qemu, the emulation engine that drives the Android emulator, and/or

  • Running modified emulator images, with modify firmware, that enable this

like image 39
CommonsWare Avatar answered Sep 27 '22 20:09

CommonsWare


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. but i don,t know which technique they are using to run emulator instance for each session because emulator required lots of CPU resource.

like image 38
Mohit Avatar answered Sep 27 '22 18:09

Mohit