Ubuntu 16.04 64bit 编译 Android 4.4 内核

本文编译的goldfish-3.4内核。

(1)在源码目录中创建kernel文件夹,进入到kernel内,用git命令下载Goldfish的source code代码包

git clone https://android.googlesource.com/kernel/goldfish.git

(2)然后用以下命令选择指定的版本并复制代码

cd goldfish

git branch -a

此处可以看见各种版本的goldfish,我们选择3.4版本

git checkout remotes/origin/goldfish-android-goldfish-3.4 -b goldfish

安装完成后执行git branch 绿色显示goldfish,则表示安装成功

(3)进入goldfish-android-goldfish-3.4目录下,配置环境变量

export PATH=$PATH:~/android4.4/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin

(4)修改goldfish-android-goldfish-3.4目录下的Makefile文件

注释掉

#ARCH        ?= $(SUBARCH)

#CROSS_COMPILE    ?= $(CONFIG_CROSS_COMPILE:"%"=%

在下面添加

ARCH ?= arm

CROSS_COMPILE    ?= arm-eabi-

(5)在goldfish-android-goldfish-3.4目录下如下命令

make goldfish_armv7_defconfig

(6)在goldfish-android-goldfish-3.4目录执行make命令

make

(7)启动模拟器。

进入源码目录,执行如下命令。

source build/envsetup.sh

lunch sdk-eng

emulator -kernel ./kernel/goldfish-android-goldfish-3.4/arch/arm/boot/zImage

启动后进入模拟器,此时内核已经换为自己编译的内核。


说明:

1. 在执行此文档之前一定要将之前编译好的源码备份,因为中间有可能会导致丢失system.img文件。如丢失并且未备份也没关系,再编译一遍源码就好了。。。

2. 选择goldfish-3.4的原因是目前只该版本编译后能够正常启动,其他版本均有启动后黑屏的情况(亲测)



作者:孙肖依
链接:https://www.jianshu.com/p/df8261a6cb91
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(Android自学之路)