下载源码
1. cd 到Android源码下载目录。
2. mkdir kernel
3. cd kernel
4.下载内核源码
git clone https://android.googlesource.com/kernel/goldfish.git
由于种种原因无法访问谷歌下载地址,使用以下地址下载
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git
-
cd goldfish
-
git branch –a 查看goldfish版本分支
-
git checkout 切换想要下载的分支
本次下载的版本 git checkout remotes/origin/android-goldfish-2.6.29
5.获得交叉编译工具配置环境
-
返回kernel目录(cd …)
-
git clone https://android.googlesource.com/platform/prebuilt
无法访问可以使用以下地址
git clone https://aosp.tuna.tsinghua.edu.cn/platform/prebuilt -
cd goldfish
-
配置编译工具arm-eabi-gcc环境变量PATH
export PATH=$PATH:~/android_kernel/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
我按这种配置,虽然对应的路径是正确的但是arm-eabi-gcc: Command not found。换成以下方式配置成功了
export PATH= ( p w d ) / p r e b u i l t / l i n u x − x 86 / t o o l c h a i n / a r m − e a b i − 4.4.3 / b i n : (pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin: (pwd)/prebuilt/linux−x86/toolchain/arm−eabi−4.4.3/bin:PATH输入以下命令查看是否配置成功
arm-eabi-gcc
6.编辑Makefile
sudo gedit Makefile打开文件并修改以下部分
#ARCH?= $(SUBARCH)
#CROSS_COMPILE?=
ARCH?= arm
CROSS_COMPILE?= arm-eabi-
7.makegoldfish_armv7_defconfig 或者make goldfish_defconfig
具体取用哪条配置指令,视你的Android模拟器CPU体系构架而定。如果是arm v5版本的,则使用make goldfish_defconfig,而如果是arm v7版本的,则使用make goldfish_armv7_defconfig。
使用错误的命令会导致模拟器运行后黑屏。
如何查看arm版本?
进入android源码目录打开源码模拟器( emulator &)
模拟器打开后在终端敲一下回车键,在终端输入以下命令查看cpu配置
- adb shell
- cat /proc/cpuinfo
8. make
顺利的话等待几分钟编译完成
运行模拟器
-
source build/envsetup.sh
-
emulator -kernel’/root/android_kernel/goldfish/arch/arm/boot/zImage’ &
ps:加上&后运行模拟器时,点击Enter键后可以继续输入命令。 -
输入以下命令查看模拟器的信息,根据日期可以判断是否是刚刚编译完成的内核
adb shell
cd proc
cat version