Android 底层开发概述

Posted 四季帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 底层开发概述

Android 底层开发概述

Android 开发之 ---- 底层驱动开发

Android硬件加速介绍与实现

Android 智能手机开发概述

Android开发常用代码片段