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 底层开发概述的主要内容,如果未能解决你的问题,请参考以下文章