下载、编译和测试Android源代码,Android源代码包含许多的东西,例如:内嵌在Android系统的应用程序(拍照、计算器、日历、相册、拨号器等)的源代码;AndroidSDK带的各种工具(adb、emulator、mksdcard、aapt等)的源代码,当然还有HAL的源代码;从代码的数量上来看,Android源代码还是很复杂的。不过研究Android源代码并不一定要全部了解,只需要了解所需要的代码即可。在下载Android源代码之前还必须在Linux上配置下载环境。Android的源代码目录中除Makefile文件外,其他的目录全是保存了Android源代码的不同子项目。如果只需要Android源代码的一部份只需要了解Android源代码的目录结构,就可以下载任何想要的部分。可以使用repo sync命令或使用git chone命令。由于Android源代码中每个工程代码都有Andorid.mk文件,所以编译整个Android源代码时会递归调用每一个工程目录中的Android.mk文件来编译当前工程。编译Android源代码的具体步骤如下:(1)初始化编译环境(2)选择目标(3)编译Android源代码。Android移植主要是Linux内核的移植,而Linux内核移植主要是Linux驱动的移植。所以为了开发和测试Linux驱动,需要在虚拟机下搭建两套开发环境:Android应用程序开发环境和Linux内核开发环境。

转载于:https://www.cnblogs.com/swjlinux/p/5432322.html

Android深度探索第四章相关推荐

  1. Android深度探索第四章感想

    第四章讲的是源代码的下载和编译.Android源代码中包含了很多东西,如内嵌在Android系统中的应用程序(拍照.计算器.日历.相册.拨号器等等)的源代码:Android SDK带的各种工具的源代码 ...

  2. 《Android深度探索》第一章心得体会

    <Android深度探索>第一章心得体会 由于Android系统现在的火爆,关于Android系统的应用开发不断出现,Android系统不一定只满足在手机这一种 平台上运行想要在不同的设备 ...

  3. Android深度探索第五章

    开发板是开发和学习嵌入式技术的主要硬件设备,开发板拥有许多扩展的端口,可以很容易开发定制的硬件,并与开发板链接.目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410ARM11架构的 ...

  4. Android深度探索读后感第二章

    第二章 搭建Android开发环境 Android底层开发的环境,主要包括:Android应用程序开发环境,Android  NDK开发环境和交叉编译环境的搭建. Android应用程序开发环境:第一 ...

  5. Android深度探索第五章总结

    S3c6410一款比较典型的开发板,集成了各种部件.它是由三星公司推出的一款低功耗.高性价比的RISC处理器,它基于ARM11内核,可广泛应用于移动电话和通用处理等领域. 要想使用该型号的开发板,首先 ...

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

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

  7. Android深度探索--HAL与驱动开发----第五章读书笔记

    第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们 ...

  8. 《Android深度探索(卷2):系统应用源代码分析与ROM定制》——第6章,第6.4节分析第一个Android系统应用:计算器...

    本节书摘来自异步社区<Android深度探索(卷2):系统应用源代码分析与ROM定制>一书中的第6章,第6.4节分析第一个Android系统应用:计算器,作者 李宁,更多章节内容可以访问云 ...

  9. 新书出版:《Android深度探索(卷1):HAL与驱动开发》

    <Android深度探索(卷1):HAL与驱动开发> [1]亚马逊 [2]当当网 [3]京东商城 [4]互动网 [5]淘宝网 [6]豆瓣网 < Android深度探索(卷1):HAL ...

最新文章

  1. 均值聚类散点图怎么画_GraphPad Prism 绘图教程 | 手把手教你绘制Column散点图
  2. [Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用
  3. ROS学习--第3篇:ROS基础---创建工作空间和软件包
  4. SpringHibernate3
  5. java maximumpoolsize,如果maximumPoolSize小于corePoolSize怎么办? Java 6中可能存在的错误?...
  6. GDB调试使用技巧 - 专职C++ - C++博客
  7. yolov5模型框架详解
  8. 安装 Nginx 并配置负载均衡
  9. 微pe工具箱 系统安装教程_微PE工具箱 V2.0正式版(附安装系统教程)
  10. BigGAN、BiGAN、BigBiGAN简单介绍
  11. jaxen-1.1-beta-6.jar的用处
  12. [zt]软件研发的6sigma案例解析
  13. 能骑能健身的折叠电动车,短途出行新利器,五轮健身电踏车D1 Pro体验
  14. 隐藏桌面和控制面板网络连接
  15. Big Faceless Java Pdf报表生成器
  16. xcode 10.3 for Mac
  17. 文件下载中文名乱码问题
  18. getchar()用法 与 getch()函数使用方法
  19. Java用20行代码实现抖音小视频批量转换为gif动态图【值得收藏】
  20. 【LOJ#10115,tyvj1473】校门外的树(第3次升级)

热门文章

  1. devc++64位不兼容_DNF玩家遭强制脱坑,只因64位更新后无法上游戏,如何解决?...
  2. java8新特性学习笔记链接
  3. WebService(基于AXIS的WebService编程)
  4. HAOI2014 走出金字塔
  5. tf.squared_difference
  6. 10.Facade-外观模式
  7. sublime福音:微信小程序组件及API补全插件
  8. 国内外开源与 SaaS ,团队协作平台、项目管理工具整理
  9. html5 meta标签属性整理
  10. 关于C# WinForm中进度条的实现方法