第四章  源代码的下载和编译

本章主要介绍使用Git下载两套源代码。一套是Android 源代码,另一套是Linux 内核源代码。主要介绍如何下载和编译Android源代码和Linux内核源代码。

4.1下载Android源代码的环境

第一步:创建一个存放下载脚本文件repo的目录

#mkdir ~/bin

#PATH=~/bin:$PATH

第二步:下载repo脚本文件(用于下载Android源代码)

#curl https://dl-ssl.goole.com/dl/goolesource/git-repo/repo>~/bin/repo

#chmod a+x ~/bin/repo

第三步:创建用于存放Android源代码的目录

#mkdir android_source

#cd android_source

第四部:初始化

#repo init -u https://android.goolesourse.com/platform/manifest

第五步:开始下载Android源代码:

#repo sync

android 源代码目录的解析

我们编译android 源代码:

第一步:初始化编译环境

第二步:选择目录

第三步:编译android 源代码

# make

# make  -j4

Out 目录结构分析

将自己的APK 作为android 内置程序发布

用模拟器测试 system.ing文件

之后进行下载和编译Linux 内核源代码。Linux内核源代码的目录。

4.2下载和编译LInux内核源代码

下载Linux内核源代码
执行命令“# git clone https:android.googlesource.com/kernel/common.git”可以下载最新的Linux内核源代码

Linux内核源代码目录结构
P51  P52 中的表介绍了Linux内核各个目录的含义。

安装android内核的编译环境
在ubuntu Linux下编译Linux内核需要安装交叉编译器。就是在A架构的CPU上编译可在B架构CPU运行的程序。
安装交叉编译器的步骤:
第一步:准备工作
第二步:解压编译器
第三步:验证交叉编译器是否安装成功
第四步:安装libncurses5
(安装libncurses5主要为配置内核。)

配置和编译Linux内核
make clean 命令用于清除大多数由编译生成的文件,但保留配置文件。make mrproper(清除所有由编译器产生的文件+清除配置文件)和make distclean (make mrproper+删除编辑器留下的备份文件和补丁文件)这两个命令清除的更彻底。

4.3  Android移植主要是Linux内核移植,Linux内核移植主要是驱动的移植所以搭建两套开发环境.

http://www.cnblogs.com/lupengyong/

转载于:https://www.cnblogs.com/lupengyong/p/5438528.html

Android深度探索(卷1)HAL与驱动开发 读书笔记(第四章)相关推荐

  1. Android深度探索(卷1)HAL与驱动开发--读书笔记(第一章)

    Android系统架构是由四层构成,第一层为Linux内核,主要包括Linux驱动程序以及内存管理.进程管理.电源管理的等程序.并且不同的Android的版本的驱动可能并不通用.第二层为C/C++代码 ...

  2. Android深度探索(卷1)HAL与驱动开发学习笔记(8)

    Android深度探索(卷1)HAL与驱动开发学习笔记(8) 第八章 蜂鸣器驱动   L i n u x驱动的代码重用有很多种方法.可以采用标准C程序的方式.将要重用的代码放在其他的文件(在头文件中声 ...

  3. Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记

    Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记     本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.A ...

  4. Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术

    Android深度探索(卷1)HAL与驱动开发 心得体会 第十章  嵌入式Linux的调用技术 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点,逐步跟踪代码. ...

  5. Android深度探索(卷1)HAL与驱动开发读后感---第四章

    第4章  源代码的下载和编译 4.1  下载.编译和测试Android源代码     主要学习了:配置源代码的下载环境,Android源代码目录结构解析,下载Android源代码中的一部分,编译And ...

  6. Android深度探索(卷1)HAL与驱动开发第六章总结

    操作系统是通过各种驱动程序赖家与硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式.设备驱动程序是操作系统最基本的组成部分之一,在Linux内核源程序中也 ...

  7. Android深度探索(卷1)HAL与驱动开发第五章总结

    开发板是开发和学习嵌入式技术的主要硬件设备,开发板的型号和种类很多,目前流行的是基于S3C6410 ARM11架构的开发板,S3C6410是由三星公司推出的一款低功耗,高性价比的RISC处理器,它基于 ...

  8. ANDROID深度探索(卷1)HAL与驱动开发 第四章

    配置android源代码下载环境 (1)创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放到任何目录中,在这里使用~/bin).#mkdir ~/bin    #PATH=~/bin: ...

  9. Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)

    Windows驱动开发学习笔记(四)-- 3环与0环通信(常规方式) 设备对象 创建设备对象 设置数据交互方式 创建符号链接 IRP与派遣函数 IRP的类型 其它类型的IRP 派遣函数 派遣函数注册位 ...

最新文章

  1. 最萌算法学习来啦,看不懂才怪!
  2. 正则表达式(2.实例)
  3. 老工程师谈电子物料:别拿一分钱不当回事!
  4. (转)Spring的概述
  5. Flutter:Slivers大家族,让滑动视图的组合变得很简单!
  6. paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
  7. 宕昌一中2021高考成绩查询,2014年陇南市普通高考分数成绩排名
  8. C++中将数据(或图像数据)写到txt
  9. beoplay耳机序列号查询_怎么鉴别 BO E8耳机真伪?【转】
  10. MessageBox用法大全 [转]
  11. 【VRP问题】基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究(Matlab代码实现)
  12. 如何让计算机断开网络连接网络设置,电脑怎样设置定时断网,教您怎么设置
  13. 设计一个以1秒频率闪烁的LED灯(亮灭各500ms)
  14. 2022全新Java学习路线图动力节点(五)框架之路
  15. 十六进制转八进制算法
  16. Docker-compose容器编排
  17. Deep Learning for Generic Object Detection: A Survey -- 目标检测综述总结
  18. 输出倒三角—C语言实现
  19. 单个人工神经元模型示意图,人体神经元模型制作
  20. POI2010 Beads

热门文章

  1. gpu编程如何一步步学习_如何学习贴片机编程
  2. java 指定打印机打印_java 指定打印机 进行打印
  3. 【渝粤教育】国家开放大学2019年春季 289法理学 参考试题
  4. 【渝粤教育】国家开放大学2018年秋季 0033-21T工程数学 参考试题
  5. 【渝粤教育】国家开放大学2018年春季 0089-22TInternet和Intranet应用 参考试题
  6. 【渝粤教育】国家开放大学2018年春季 0675-21T中级财务会计(2) 参考试题
  7. 国家开放大学2021春1073法律文书答案
  8. 基于CC1310的915MHz硬件设计
  9. 电源模块怎么选?以下6点你都知道吗?
  10. php iconv 无效,关于nodejs iconv的编码无效 说明