安卓内核及源码编译
2016-01-17 11:24
393 查看
1.由于安卓源码和内核源码是要分开下载的,这里我找到了2.3.5版本的源码和内核,测试可以用
内核:http://pan.baidu.com/s/1qW0TkkO
源码:http://pan.baidu.com/share/link?shareid=7577&uk=4246628909
2.下载后解压
目录结构,这里我直接把内核源码放在android系统源码中
![](http://img.blog.csdn.net/20160117110155159)
3.新建SDK emulator的脚本方便编译后直接刷入我们的内核
4.编译内核
进入kernel目录
make goldfish_defconfig
前提是将上面的GCC导入PATH中,其中内核的Makefile文件的gcc编译器已经指定好了
5.编译安卓源码
这里是参考之前我介绍的embedded android
(1)安装依赖库
(2)编译
编译之前确定你的系统是的gcc是4.4,以及安装好jdk1.6
6.启动系统和内核
补充一点
我们可以在控制台打印内核的信息,修改emulator.sh
![](http://img.blog.csdn.net/20160117111843886)
内核信息被刷过去了,自己操作观察吧
![](http://img.blog.csdn.net/20160117112101583)
这里我们选择了安卓2.3.5,不仅它经典,关键是好编译,我也试过高版本的android源码,可惜我的笔记本性能差(赛扬),不过,如果你要探究android源码的话2.3.5还是不错的选择,我看过基本国外的教材,基本都是以2.3~
内核:http://pan.baidu.com/s/1qW0TkkO
源码:http://pan.baidu.com/share/link?shareid=7577&uk=4246628909
2.下载后解压
目录结构,这里我直接把内核源码放在android系统源码中
3.新建SDK emulator的脚本方便编译后直接刷入我们的内核
# EXPORT SDK ENV export ANDROID_SRC_HOME=/home/linux/Applications/android_2.3.5 export ANDROID_PRODUCT_OUT=$ANDROID_SRC_HOME/out/target/product/generic export PATH=$PATH:$ANDROID_SRC_HOME/out/host/linux-x86/bin # EXPORT GCC export PATH=$PATH:$ANDROID_SRC_HOME/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin # EXCUTE EMULATOR emulator -kernel $ANDROID_SRC_HOME/kernel/arch/arm/boot/zImage
4.编译内核
进入kernel目录
make goldfish_defconfig
前提是将上面的GCC导入PATH中,其中内核的Makefile文件的gcc编译器已经指定好了
5.编译安卓源码
这里是参考之前我介绍的embedded android
(1)安装依赖库
$ sudo apt-get install bison flex gperf git-core gnupg zip tofrodos \ > build-essential g++-multilib libc6-dev libc6-dev-i386 ia32-libs mingw32 \ > zlib1g-dev lib32z1-dev x11proto-core-dev libx11-dev \ > lib32readline5-dev libgl1-mesa-dev lib32ncurses5-dev
$ sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so $ sudo ln -s /usr/lib32/libz.so.1 /usr/lib32/libz.so
(2)编译
$ cd ~/android/aosp-2.3.x $ . build/envsetup.sh including device/acme/coyotepad/vendorsetup.sh including device/htc/passion/vendorsetup.sh including device/samsung/crespo4g/vendorsetup.sh including device/samsung/crespo/vendorsetup.sh $ lunch You're building on Linux Lunch menu... pick a combo: 1. generic-eng 2. simulator 3. full_passion-userdebug 4. full_crespo4g-userdebug 5. full_crespo-userdebug Which would you like? [generic-eng] ENTER
$ make -j2
编译之前确定你的系统是的gcc是4.4,以及安装好jdk1.6
6.启动系统和内核
./emulator.sh
补充一点
我们可以在控制台打印内核的信息,修改emulator.sh
# EXPORT SDK ENV export ANDROID_SRC_HOME=/home/linux/Applications/android_2.3.5 export ANDROID_PRODUCT_OUT=$ANDROID_SRC_HOME/out/target/product/generic export PATH=$PATH:$ANDROID_SRC_HOME/out/host/linux-x86/bin # EXPORT GCC export PATH=$PATH:$ANDROID_SRC_HOME/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin # EXCUTE EMULATOR emulator -kernel $ANDROID_SRC_HOME/kernel/arch/arm/boot/zImage -show-kernel -logcat d
内核信息被刷过去了,自己操作观察吧
这里我们选择了安卓2.3.5,不仅它经典,关键是好编译,我也试过高版本的android源码,可惜我的笔记本性能差(赛扬),不过,如果你要探究android源码的话2.3.5还是不错的选择,我看过基本国外的教材,基本都是以2.3~
相关文章推荐
- C++开发人脸性别识别教程(12)——添加性别识别功能
- 单链表的相关算法
- 通过jdbc实现对数据库中数据的增删查改操作
- MATLAB 生成随机整数 的各种方法以及实例
- uva 280 - Vertex
- HDU 2099 整除的尾数
- (8)将entity linking功能做成chrome插件
- 数据库事物之冲突可串行化、优先图、视图等价和视图可串行化
- 单击事件和双击事件同时存在的处理办法
- 【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload
- 数据库操作
- HDU 1257 最少拦截系统
- Service基础(一)---》使用服务Service
- Codeforces 599 B Spongebob and Joke
- 武汉大学教务系统入侵&窃取数据全过程记录
- C++ 异常机制分析
- ARM RTX操作系统—Overview—Product Specification
- VS2013秘钥
- G面经prepare: Chucked Palindrome
- Android解决“发现了以元素 'd:skin' 开头的无效内容”