Android2.3 gingerbread 源码放出…

来源:互联网 发布:阿里云cdn流量怎么算 编辑:程序博客网 时间:2024/06/07 18:00


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 byprebuilt/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 byprebuilt/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-bitsystem.
build/core/main.mk:79: Only 64-bit build environments are supportedbeyond froyo/2.2.
build/core/main.mk:80:************************************************************


3)需要JDK1.6以上
java_version := $(shell java -version2>&1 | head -n 1 | grep '[ "]1\.6[\."$$]')
javac_version := $(shell javac -version2>&1 | head -n 1 | grep '[ "]1\.6[\."$$]')

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

ubuntu的坏处就是要更新源和安装很多库
这是google手册上要装的
sudo apt-get install git-core gnupg flex bison gperfbuild-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilibg++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libsx11proto-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设计,包括Texturerender,没有GPU整个系统是玩转不能鸟
->SurfaceFlinger被细分为Clinet和Service
->菜单增加了拖动效果
->默认的gralloc模块不再关心pmem
->SystemUI被独立成apk,修改UI岂不是更简单,不说Android要统一UI的?

Dalvik:

GC垃圾回收机制被优化过

0 0
原创粉丝点击