android emulator without qemu

50 views
Skip to first unread message

oclee

unread,
Sep 21, 2010, 3:43:56 PM9/21/10
to android-platform

Hi all,

I'm interested in the possibility of a branch of the android emulator
that runs android linux built for x86 inside VirtualBox rather than
using qemu. Of course this wouldn't be able to run ARM compiled JNI
components but it would start up and run significantly faster (as seen
when running liveAndroid (http://code.google.com/p/live-android/)
inside VirtualBox). I was hoping that it might be possible to maintain
the emulator gui and the mechanism that forwards events into android
linux.

My reason for choosing VirtualBox is because I'm also interested in
using the snapshot functionality. I'm aware qemu also supports
snapshots but I'm not sure if the android branch of qemu has them
working right now.

There are probably lots of issues with this. Can you help me enumerate
them?

Thanks,
Lee.

David Turner

unread,
Sep 22, 2010, 12:47:25 PM9/22/10
to android-...@googlegroups.com
On Tue, Sep 21, 2010 at 9:43 PM, oclee <L...@thecooperhome.com> wrote:

Hi all,

I'm interested in the possibility of a branch of the android emulator
that runs android linux built for x86 inside VirtualBox rather than
using qemu. Of course this wouldn't be able to run ARM compiled JNI
components but it would start up and run significantly faster (as seen
when running liveAndroid (http://code.google.com/p/live-android/)
inside VirtualBox). I was hoping that it might be possible to maintain
the emulator gui and the mechanism that forwards events into android
linux.


We are currently working on separating the UI from the "emulation engine" in the Android emulator.
The goal is to have both components run in separate process, and eventually use different emulation
engines (e.g. VirtualBox, or qemu-system-x87, or qemu-kvm) for performance reasons.

This work is not finished yet though. Also the UI implementation will likely be completely re-implemented
after we finish the separation (to use a real UI toolkit, and provide better user experience).
 
My reason for choosing VirtualBox is because I'm also interested in
using the snapshot functionality. I'm aware qemu also supports
snapshots but I'm not sure if the android branch of qemu has them
working right now.

We are also working on the QEMU snapshot functionality :) Again, no ETA for now but the prototype is
starting to work, though is missing proper state save/load for Android-specific hardware.
 
There are probably lots of issues with this. Can you help me enumerate
them?

The major issues is that VirtualBox does not provide the customized emulated hardware that the Android qemu
program does. This means that the system image will need to be drastically modified to run properly under x86
with all emulated hardware features working (think emulated GSM, network redirections, http-proxy, and plenty
of other things). The emulator's console will probably have to be dropped (but we may find other ways to
implement similar features).

We hope to be able to do that by only modifying the way the system image is built, i.e. without having to use
a custom build of VirtualBox (which would be a lot of work to maintain). However, this will take a long time.
 
Thanks,
Lee.

--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=en.


Chris Stratton

unread,
Sep 22, 2010, 3:16:53 PM9/22/10
to android-platform
That sounds very interesting.

I wonder if it could be done by just treating the virtual machine x86
as its own target with a kernel where assorted hardware drivers are
really just proxies that tunnel stuff out over the host networking to
an external emulator-helper which simulates the combination of gsm
network + radio + low level kernel driver.

People are already using x86 builds in VirtualBox for tasks where
having the exact hardware buttons and emulated radios are not needed.
> > android-platfo...@googlegroups.com<android-platform%2Bunsu...@googlegroups.com>
> > .
Reply all
Reply to author
Forward
0 new messages