android 的模拟器使用的是qemu,做了一些改动,并加上了sdl的支持(类似directX)。
在windows下的编译过程参考
http://www.cnblogs.com/herolf/archive/2008/01/20/1046456.htmlemulator的源代码可以从这里下载
在linux(我的是ubuntu)下,根据readme中说明,编译emulator只需要简单运行build-emulator.sh即可,但是不同机器因为开发库的不同可能会报告不同的错误。我这里碰到了几个错误,
error: X11/extensions/XShm.h: No such file or directory
这个需要安装x11proto-xext-dev,参考
http://www.lupaworld.com/home/space-21999-do-blog-id-120927.htmlsudo apt-get install x11proto-xext-dev
Are you missing the libasound-dev package ?
Correct the erros below and try again
这个是缺少了libasound-dev,还是直接安装吧,ubuntu的自动安装机制在这方面还是不错的。
Compile: emulator-dyngen <= dyngen.c
/home/daniel/Workspace/android/emulator/qemu/dyngen.c:123:2: error:
#error unsupported CPU - please update the code
Compile: emulator-op <= target-arm/op.c
/home/daniel/Workspace/android/emulator/qemu/dyngen.c: In function
‘load_object’:
这个是CPU检测的问题,检测结果是I686,但是模拟器只支持I386,如果硬件没问题,可以尝试去修改qemu/objs/config-host.h(编译出错之后才有),把HOST_i686替换为HOST_I386。然后在qemu目录下直接运行“make"(build-emulator.sh会重新检测),参考
模拟器中使用的是QEMU 0.8.2,最新的qemu已经是0.9.1了。
编译成功后,在qemu/objs下运行emulator,同时需指定模拟器所用的kernel镜像,一般可以使用sdk中所带的镜像:
./emulator -system /home/harry/bin/android-sdk/android-sdk-linux_x86-1.0_r2/tools/lib/images
阅读(3041) | 评论(0) | 转发(0) |