您的位置:首页 > 其它

安卓内核及源码编译

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系统源码中



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~


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: