Chinaunix首页 | 论坛 | 博客
  • 博客访问: 508567
  • 博文数量: 35
  • 博客积分: 3472
  • 博客等级: 中校
  • 技术积分: 935
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-04 06:54
文章分类
文章存档

2014年(4)

2013年(2)

2011年(3)

2010年(9)

2009年(9)

2008年(8)

分类:

2009-02-10 14:49:45


android 的模拟器使用的是qemu,做了一些改动,并加上了sdl的支持(类似directX)。

在windows下的编译过程参考http://www.cnblogs.com/herolf/archive/2008/01/20/1046456.html

emulator的源代码可以从这里下载


在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.html
sudo 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) |
0

上一篇:uclibc和glibc的差别

下一篇:qemu 编译

给主人留下些什么吧!~~