您的位置:首页 > 移动开发 > Android开发

Android2.3 gingerbread 源码放出…

2013-12-19 20:37 411 查看
1编译

为了编译gingerbread,我重新安装了ubuntu10.10 64bit版本

目前确认编译前需要注意三个问题:

1) 高版本的Glibc库

否则出现以下问题

prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc:
/lib/libc.so.6: version `GLIBC_2.11' not found (required by
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc)

prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc:
/lib/libc.so.6: version `GLIBC_2.11' not found (required by
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc)

2)需要64bit版本

build/core/main.mk:77:
************************************************************

build/core/main.mk:78: You are attempting to build on a 32-bit
system.

build/core/main.mk:79: Only 64-bit build environments are supported
beyond froyo/2.2.

build/core/main.mk:80:
************************************************************

3)需要JDK1.6以上

java_version := $(shell java -version
2>&1 | head -n 1 | grep '[ "]1\.6[\.
"$$]')

javac_version := $(shell javac -version
2>&1 | head -n 1 | grep '[ "]1\.6[\.
"$$]')

手动修改旧版本编译器,该成32bit和jdk 1.5,编译出问题,遂安装ubuntu10.10
64bit,以上三个问题全部可以解决

ubuntu的坏处就是要更新源和安装很多库

这是google手册上要装的

sudo apt-get install git-core gnupg flex bison gperf
build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib
g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

sun-java5-jdk 没有

lib32z-dev 名字有改动

还有javac也没装,要安装openjdk

2
启动及感受
直接用generic编译,旧的29内核,注释了几个mount选项可以启动,第一感觉,速度灰常慢,看来arm11廉颇老矣。

版本已经是2.3.1.

粗略浏览了源码,代码中很多地方留有S5PC110的宏定义,并附带了三星克雷斯波(Crespo)的device源码。

Crespo是Nexus S的codename,果然是为Nexus S量身定制!

图形方面改变很多:

->图形全部用OpenGL ES设计,包括Texture
render,没有GPU整个系统是玩转不能鸟

->SurfaceFlinger被细分为Clinet和Service

->菜单增加了拖动效果

->默认的gralloc模块不再关心pmem

->SystemUI被独立成apk,修改UI岂不是更简单,不说Android要统一UI的?

Dalvik:

GC垃圾回收机制被优化过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: