关于如何下载Android 源码请查看另一篇文章(同样是图文教程):

如何编译Android 源码请看:

下面进入正题:

第一步:下载goldfish源码

在Android源码根目录下新建kernel文件夹

$mkdir kernel

$cd kernel  下载源码:

$git clone ;

下载完毕如下图:

此时在kernel目录下会生成一个goldfish文件夹进入此目录:

$cd goldfish

此目录下有一个隐藏的目录git通过

$ls al

可看到此目录:

查看所有分支:

git  branch a

如下图:

check out:

$git checkout remotes/origin/Androidgoldfish

此时你会看到goldfish目录下会出现很多文件:

$ls

这个时候goldfish源码就已经下下来了接下来的事情就是编译了

第二步:编译goldfish

导出交叉编译工具目录到$PATH环境变量中去

export PATH=$PATH:~/WORKING_DIRECTORY/prebuilt/linuxx/toolchain/armeabi/bin

我们将使用上述这个目录下的交叉编译器armeabigcc

然后在glodfish目录下用gedit打开Makefile文件找到这两行文字:

# ARCH?= (SUBARCH)

# CROSS_COMPILE?=

修改为:

ARCH ?= arm

CROSS_COMPILE ?= armeabi

$gedit Makefile

注意:ARTH ?=arm的arm后边不要有空格不然就会出现如下类似错误:

Make:/kernel/goldfish/arch/arm: Is a directoryStop

害我白白浪费了几个小时

关闭gedit接下来就开始make了执行如下指令:

$ make goldfish_armv_defconfig

$ make

注用$make goldfish_defconfig这样配置也可以编译通过模拟器也可以启动但是Android的开机画机就显示不了$adb shell也死活连不上原因就是这个goldfish_defconfig这个配置文件问题

提示:

$make goldfish_armv_defconfig指令的意思是将目录WORKING_DIRECTORY/kernel/goldfish/arch/arm/configs/下的goldfish_armv_defconfig文件内的Kconfig配置内容复制到WORKING_DIRECTORY/kernel/goldfish/目录下nfig文件中nfig文件是一个隐藏目录保存着各个目录下Kconfig文件的配置

最终结果如下图所示:

这样就表示编译成功了

$ ls arch/arm/boot/

可以看到zImage文件

第三步:在模拟器中启动编译好的内核

$ export PATH=$PATH:~/WORKING_DIRECTORY/out/host/linuxx/bin

$ export Android_PRODUCT_OUT=~/WORKING_DIRECTORY/out/target/product/generic

$ emulator kernel ~/WORKING_DIRECTORY/kernel/goldfish/arch/arm/boot/zImage &

模拟器启动界面:

进入模拟器从设置里看版本信息:

从上图可以看出当前Android版本是内核版本是说明成功了

同样也可以通过adb shell来查看内核版本信息如下图:

$adb shell

#cd proc

#cat version

完!

如何编译Android的kernel,如何下载并编译Android 4.0内核源码Goldfish(图文)相关推荐

  1. 编译Android 9.0内核源码并刷入手机

    目的:修改内核源码,并刷入手机 步骤如下: 1.获取手机对应的内核下载地址 参考https://source.android.com/setup/build/building-kernels 我的设备 ...

  2. android+锁屏代码+下载,安卓客户端开发的锁屏源码demo下载,可直接应用到APP中

    安卓程序锁屏 好多安卓APP中都用到锁屏技术在这里只是一个Demo 但是可以直接运用到已经做好的APP中,在绘制锁屏中用到许多的Math函数. package com.weiqiang.lockpoi ...

  3. 如何从社区的patchwork下载补丁并应用到当前内核源码?

    1. 下载 wget http://patchwork.ozlabs.org/series/111111/mbox 2. 打补丁 git am mbox 转载于:https://www.cnblogs ...

  4. centos的linux内核源码下载方法

    刚开始进行写linux驱动时,写好Makefile后进行make,出现scripts/xxx/Makefile:没有那个文件或目录,编译停止!错误,这是linux系统没有安装内核源码导致的. 例如 下 ...

  5. Android源码和内核源码的下载,编译和执行

    笔者依据罗升阳老师的<Android 系统源码情景分析>一书,尝试下载,编译和执行Android源码和内核源码.但可能是软件源"被墙"或版本号更新的原因.期间遇到诸多问 ...

  6. Android 4.0.1 源码下载,编译和运行

    [牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...

  7. Android FrameWork学习(一)Android 7 0系统源码下载 编译

    最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...

  8. Android FrameWork学习(一)Android 7.0系统源码下载\编译

    重点内容 转载. http://blog.csdn.net/cjpx00008/article/details/60474883 硬件环境要求 1. 编译环境 按照官方的说法,编译Android 2. ...

  9. quado编辑Android代码步骤,Ubuntu11.10下编译android内核源码

    编译android源码时并不会自动编译android内核,因此需要手动编译这部分代码.编译内核所用的时间比编译android源码要少得多,只需一会就编译完成. 1.确定内核版本 进入存放android ...

  10. android 修改编译内核源码 对抗反调试

    0×00  写在前面 攻防对立.程序调试与反调试之间的对抗是一个永恒的主题.在安卓逆向工程实践中,通过修改和编译安卓内核源码来对抗反调试是一种常见的方法.但网上关于此类的资料比较少,且都是基于AOSP ...

最新文章

  1. AI一分钟 | 万达网科裁员95%高达5000余人,被爆下一步将转型AI; 英伟达放话了:研究人员放心用,不更新驱动就没啥事儿
  2. eureka集群 ha_Eureka
  3. opencv各版本 IplImage Mat 转换
  4. python实现链表的删除_Python垃圾回收机制
  5. 点在不规则图形内算法python_目标检测算法中规则矩形和不规则四边形IOU的Python实现...
  6. Atitti cto的日常流程与职责attilax总结
  7. MySQL服务器的启动与停止
  8. 项目管理软件浮出水面(转)
  9. 读书笔记_《深度学习与计算机视觉》.叶韵 编著.田疆 西门子高级研究员 作序.机械工业出版社
  10. List转Map的几种方式
  11. 英特尔提供 Loihi 2 神经形态芯片和软件框架
  12. 智能家居Zigbee和蓝牙哪个发展潜力更大?
  13. 【全开源+免费更新】doodoo.js快速入门教程 1
  14. 《锋迷商城》——首页:轮播图
  15. MPC多方安全计算DT(决策树)实现
  16. 使用cordova将Ext JS 6.2的Modern应用程序打包为安卓APP
  17. 软件系统三员管理_3个可怕的系统管理员故事
  18. [2]_如何与老板顺畅沟通
  19. 移动互联网时代,不会“网络预约”的老年人应该怎么办
  20. Linux 4.10中两个新特性与我的一段故事

热门文章

  1. 外部表改为内部表_2、从外部导入数据创建表(ACCESS图解操作系列)
  2. java string to bit_Java Convert String to Binary
  3. stm32f4 自旋锁_STM32L0系列控制器低功耗模式详解
  4. intellij 上导入外部包教程
  5. tab点击一个按钮切换排序_Axure8原型教程:实现Tab选项切换
  6. Eclipse2020+Tomcat9.0+Maven Web配置!
  7. 大佬对Maven进行深度讲解:什么是Maven?POM.XML如何解读?
  8. 从用户端到后台系统,严选分销教会我这些事
  9. PhpStorm Live Template加PHP短语法Short Open Tags打造原生模板
  10. 走进javascript——DOM事件