2013-10-08 13 views
7

ero alla ricerca di un emulatore in linea per Android e ho trovato questo: https://www.manymo.comEmulatore basato sul web Android Manymo, come funziona?

La maggior parte degli sviluppatori Android potrebbe avere familiarità con questo o può non essere, come il suo uscire di nuovo nel mercato.

Così come sviluppatore, il primo pensiero è venuto nella mia mente è, come funziona (molti di voi penseranno dopo averlo verificato).

La mia ricerca: Al front-end sta usando Canvas, che sta prendendo input dall'utente e visualizza la risposta come un'immagine dello schermo. Quindi il front end è abbastanza chiaro per me.

Ora al back-end non sono abbastanza sicuro, quale tecnica stanno usando (indipendentemente dal linguaggio di programmazione o dalla piattaforma). Quello che penso è che eseguono un'istanza di Emulator per ogni sessione sul server locale e alcuni come catturano lo schermo e invocano l'input in determinati punti dello schermo.

Quindi la parte confusa è, come stanno inviando input all'emulatore e si ottiene lo schermo dell'emulatore, sul lato server?

Qualsiasi indizio sarà utile.

risposta

1

La soluzione inefficiente ma conveniente è utilizzare i framework di test esistenti oi relativi motori sottostanti, come ChimpChat.

Le soluzioni efficienti ma-noioso includono:

  • Aggancio in qemu, il motore di emulazione che spinge l'emulatore di Android, e/o

  • Esecuzione immagini emulatore modificate, con Modifica firmware, che abilita questo

+0

Unendo qemu, qualcosa sembra significativo. Modificare l'emulatore sembra un approccio confuso e difficile. –

2

Sembra che stiano usando noVNC Client (vedi sorgente HTML).

Sul lato server possono utilizzare qualsiasi emulatore con supporto VNC.

1

Penso che stiano inviando input all'emulatore usando lo script monkeyrunner. Abbiamo usato uno script monkeyrunner per generare screenshot per una delle nostre applicazioni Android. ma non so quale tecnica stiano usando per eseguire l'istanza dell'emulatore per ogni sessione perché l'emulatore ha richiesto molte risorse CPU.

Problemi correlati