mkdir kernel 将下载好的linux内核包解压到kernel目录下。tar -zxvf goldfish-android-goldfish-3.4.tar-gz 现在开始准备编译。 一:编译前准备工作 1.将安卓系统所带的gcc加入环境变量。export PATH=$PATH:~/Android5.0.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin 2.去刚刚创建的kernel目录下打开linux内核源码的Makefile文件,需要修改一下两项: # ARCH ?= (SUBARCH) # CROSS_COMPILE ?=XXXXXX (这后面的内容我忘了) ARCH ?= arm CROSS_COMPILE ?= arm-eabi- 注意不要改变原来的格式,只需要改变后面的内容就行。注意检查arm和arm-eabi-后面是否带有空格,有的话去掉。 二:开始编译 1.安卓5.0的编译命令:make goldfish_armv7_defconfigmake 安卓4.0之前的命令有点不一样:make goidfish_defconfig 编译成功后,会提示XXXXX is ready 然后会有successfly的提示。说明编译成功。 三:启动带有linux内核的模拟器emulator -partition-size 1024 -kernel ./kernel/arch/arm/boot/zImge 其中,后面所带的路径就是你下载编译好的内核镜像文件的路径。 如果提示emulator命令找不到,或者一些别的错误,那么先把安卓源码的三个镜像文件和emulator的文件路径再加入一遍到环境变量。或者在安卓源码路径下 1.source ./envsetup.sh 2.lunch 一遍 如果模拟器启动黑屏,那么检查一下你的这两个环境变量是否加入成功,有没有让~/.bashrc生效(srouce ~/.bashrc)。或者编译安卓源码的时候,lunch选项又没有选错,如果选错了,那只能从来编译安卓源码了。 如果各种办法都尝试过后,模拟器还是黑屏那么你或许可以想一想最不可能发生或者最不想发生的BUG了。。 当你排除了一切的可能后,那么不可能就变成了可能! 哈哈,那估计就是安卓源码包的问题了。。。 我前几天就是这样的问题,找了半天的错误楞是没有找到,结果一咬牙,换了包从头来,一步到位!
新闻热点
疑难解答