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垃圾回收机制被优化过
为了编译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垃圾回收机制被优化过
相关文章推荐
- Android2.3 gingerbread 源码放出…
- Android 源码编译 文件系统制作
- Android 源码编译 文件系统制作
- Android 基于源码的科学计算…
- android: 源码模块自定义
- Android 添加源码到ecl…
- android 值得学习的项目源码
- FW:Android 源码分析-打电话和发短…
- ubuntu Android源码下载 repo的使…
- 下载android源码repo sync失败的解…
- android 状态栏透明,源码修改教程
- Android 基于源码的科学计算… 分类: Android开发 2014-05-30 10:57 59人阅读 评论(0) 收藏
- Android 软件自动更新功能的实现
- 【Android】Android permiss…
- (转)Android XML解析与生成
- [Android]android源码下载&Eclipse关联android源码
- Android 键盘系统
- android 对话框的弹出…
- android achartengine&…
- Android adb的使用