原文地址:http://blog.chinaunix.net/uid-20548090-id-1927442.html
Android的不同之处
1)android 用的不是 X server 而是framebuffer ,因此用在笔记本上会很慢,需要重写驱动。
因此,也不会用到GTK ,QT等库
2)它不是用glibc ,而用bionic
因此对于rootfs,需要用android自带的toolchain来编译,而对于kernel,bootloader,可以用外部的编译器来编译
3)它用的不是busybox ,而是toolbox
toolbox位于/system/bin,大小为73K , 比较小,但一些命令 比如 which 都没有,代码在./system/core/toolbox下,
基本上每一个.c文件实现一个命令
4) Android所支持的Java不是标准的Java(没经过java认证)
代码也需要重新编译成 .dex ,它比J2ME强大,支持SWT ,但数据库操作是sqlite而非DB4O
5)用的是opencore ,而非mplayer , gstreamer
一般基于GNOME Mobile的平台,比如sato , moblin , maemo 用的是gstreamer , 而很多项目也用mplayer来处理多媒体这块。
而android选择的是opencore
6) android的外部库需要进行一些修改
不像其他的项目,基本上用外部库的时候,不需要去修改,而android要的,比如libpng ,需要了一些编译文件
7)android的kernel不是标准的,进行了一些修改
对于模拟器,用的是goldfish , 对于实际的target ,比如samsung 6100 ,则没法用emulator来跑
相同之处 :
1) 程序间的通讯用的是DBUS
2) 浏览器引擎用的是 webkit
居然不是Google的引擎,有点惊讶
3) 模拟器用的是qemu
这个和poky ,OE 的一样
阅读(1187) | 评论(0) | 转发(0) |