Android 底层开发概述(三)
1. Android 内核
Android SDK通过HAL间接访问Linux驱动(一般的Linux系统都是由应用程序直接访问驱动)。Android 并不能够使用从www.kernel.org下载的Linux内核,必须使用Google提供的网址下载可以供Android使用的Linux内核源代码。
2. QT和Android的区别
QT只是一个应用开发框架(C++实现);Android包含系统应用层、Java API层(framework)、库、HAL层、kernel。==》Android的集成度更高,分层更明显,移植更方便 ==》从移植的角度看,移植QT需要自己手动移植相关库,android不需要,另外Android比QT多了系统应用层和HAL层两个层。
嵌入式android源码架构:uboot+linux kernel+android(包含文件系统,虚拟机,UI)
嵌入式linux: uboot+linux kernel+文件系统+QT(UI)
3. 查看Android版本号
至少有两个地方可以从android源码中查看android的版本:
1>如果编译过的,则会有build.prop文件(find -name build.prop),从这个文件中可以看出版本。
2>如果未编译过,build/core/version_defaults.mk中 PLATFORM_SDK_VERSION := 4.2.2
4. 代码分布
app代码:packages/apps/
JAVA api:frameworks/base/core/java/android/hardware
JNI层:frameworks/base/core/jni
5. Android镜像boot.img
Android 将kernel、ramdisk(rootfs)、second stage(dtb、kernel.logd等)整体打包成一个boot.img文件,并将boot.img文件置于boot分区中,BootLoader启动时,会读取boot.img,将kernel、ramdisk、dtb等信息放置于固定的内存中,然后引导kernel启动。
Android 底层开发概述(三)相关推荐
- Android 底层开发概述(二)
1. android底层开发 涉及到的知识范围和主要工作内容如下: 1. 知识集中在Linux kernel和驱动: 2. 工作主要是移植.bug fix: 3. 挑战性工作有:性能优化.功耗优化等. ...
- 嵌入式Android底层开发(三)硬件访问服务框架
一.简单的Android应用程序调用硬件流程图(通过JNI接口直接访问) 但这样存在一个很大的问题:访问仅限与单一程序进行访问,如果多个APP同时访问一个硬件资源(多个APP都需要在LCD进行显示.多 ...
- Android 底层开发概述(一)
1. Android移植 Linux 驱动程序工作在内核空间,android的HAL工作在用户空间,有了这两个部分的结合,就可以让庞大的android系统运行在特定的硬件平台上. 在具有了特定的硬件平 ...
- Android 培训课件编写--- 第1章 Android应用开发概述
第1章 Android应用开发概述 随着Android系统的迅猛发展,它已经成为全球范围内具有广泛影响力的操作系统.Android系统已经不仅仅是一款手机的操作系统,它越来越广泛的被应用于平板电脑.可 ...
- Android底层开发学习笔记 第一天
今天,开始学习Android底层的开发.(注:我是新手小白,纯粹学习笔记,大神们可以直接略过了) 第一部分 编译运行我的第一个Android system. 准备工作: 下载源码:包括u-boot源码 ...
- linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...
内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...
- Android UI开发第三十九篇——Tab界面实现汇总及比较
Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇--ActivityGroup实现tab功能>.这 ...
- Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路
Android ROM开发(三)--精简官方ROM并且内置ROOT权限,开启Romer之路 相信ROM的相关信息大家通过前几篇的学习都是有所了解了,这里就不在一一提示了,这里我们下载一个官方包,我们还 ...
- 嵌入式,单片机,ARM,Android底层开发之间的关系
很多人在问我们学这些东西能干什么,这些东西有什么关系,我该学那个? 想知道这些首先得知道这些东西都试试很么. 单片机(Microcontrollers,亦称MCU)包括了CPU.随机存储器RAM.只读 ...
最新文章
- oracle数据库硬恢复,ORACLE数据库恢复技术
- CentOS 6.6编译安装Squid 配置反向代理服务器
- java 中线程池的种类,原理以及源码解析(1)
- mysql查询包含字符串(模糊查询)
- 翻译 《Why Indy?》计划进度表
- 2. APIS官网剖析(博主推荐)
- python中列表字典元组之间的区别_python之字典、元组、列表的区别
- 求两条直线(线段)的交点
- 基于公网smtp协议实现邮件服务器
- 苹果妙控鼠标二代(Magic Mouse 2 )如何连接到 Window 10系统
- 三维空间内点到直线的距离计算公式
- R 计算时间序列自相关性教程
- 03 三维地图添加切片图层
- 用于Red Hat Enterprise Linux 6 (AMD64/EM64T)的HP智能阵列B140i SATA RAID控制器驱动程序 下载该文件即表示您同意惠普软件许可协议的条款和条件。
- Python中单线程、多线程和多进程的效率对比实验
- 精品软件 推荐 电子书转换器 EPUB to PDF Converter
- 关于监控摄像头小程序直播使用流程及主要应用
- 配色表和配色网站:获取好看的配色
- 2017“编程之美”终章:AI之战勇者为王
- Accenture埃森哲面试
热门文章
- 你需要知道的 TCP 四次挥手
- 基因数据处理121之SSW的score matrix调整,使得与SparkSW评分一致
- python中readlines方法_Python中read(),readline(),readlines()使用详解
- 嵌入式 linux 开源项目
- JavaScript中的组合(Compose)函数
- 手把手带你学python自动化测试(六)——多层窗口定位
- 纯洁的微笑《精通 Spring Boot 42 讲》
- Python中的 线程
- sklearn上机笔记3:朴素贝叶斯算法实践
- 文旅夜游景观设计的优势