免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1295 | 回复: 0
打印 上一主题 下一主题

构建Android 1.5系统映像 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-20 13:41 |只看该作者 |倒序浏览

1、Host OS编译环境准备
在取得android源代码和编译内核的过程中,我们已经至少安装了cURL、 git-core、ncurses-dev、
build-essential等软件包(Python2.5已经捆绑在Ubuntu8.04中),不过这还不够,要完成Android代码树的编译,我
们还需要flex、bison、gperf、valgrind(可选)、libsdl-dev、libesd0-dev、libwxgtk2.6-
dev、zlib1g-dev等软件包,好在apt-get可以帮我们一次搞定。
sudo apt-get install flex bison gperf valgrind libsdl-dev libesd0-dev libwxgtk2.6-dev zlib1g-dev
另外,编译过程中还需要用到JDK 5.0(注意JDK6.0不被支持),请到
Sun的官方网站
下载后安装。
2、工具链和环境变量
把JDK5.0加进$PATH,如:
$export PATH=$PATH:/home/william/jdk5.0/bin
然后可以用java -version来确认java的版本
除此之外,编译内核所作的环境变量和工具链的设置在编译系统映像时并不需要,这都由android的编译脚本搞定了。
3、关于编译选项
在build/core目录下的envsetup.mk定义了target的体系结构和OS,默认为arm和linux,我们暂时不涉及移植,所以不需要修改。
4、开始编译
做完上面的准备,在代码树的根目录下敲make就可以了,编译的过程大约需要持续1~2个小时,总计需要大约3.5G的可用空间。
5、测试生成的image
编译完成以后如果想在模拟器中运行,除了kernel的映像文件以外,所需的其他3个映像文件分别是:(位于out/target/product/generic/目录)
ramdisk.img: 包含了在模拟器中启动Android所需的文件系统
system.img: 初始的Android系统映像,包含了程序和库文件
userdata.img: 初始的用户数据映像文件
模拟器会首先到指定的AVD所在的目录查找是否有userdata映像存在,如果没有的话就会基于初始的userdata.img来创建一个,加载这3个
映像文件后,它会把system.img和userdata.img分别挂载载到ramdisk文件系统中的system和userdata目录下。所有
的用户数据都会被保存在AVD目录下的userdata-qemu.img中,初始的用户数据映像文件并不会被修改。
通过命令行参数启动模拟器,加载我们编译的系统映像的方法:
首先设定ANDROID_PRODUCT_OUT环境变量,指向out/target/product/generic/目录(Update:实验证明这一步是没有必要的),然后运行
emulator @1.5_L2 -system system.img -ramdisk ramdisk.img
或者我们加上-kernel参数,用自己编出来的kernel来启动
系统成功启动的截图:

编译Android系统映像虽然花费了不少的时间,不过总体来说还是比较简单的,Android的build system帮助我们搞定了大部分的设置。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/90973/showart_1933605.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP