app应用程序———>系统库————>android系统—————>手机硬件;
Android系统本身是一套软件堆栈(或称为软件层叠架构),它包含三部分:操作系统、中间件、应用程序。我们通过AndroidSDK所提供的工具和API来开发各种应用。
软件堆栈,指的是软件之间的一种层叠的架构,一层叠一层,最底层是操作系统,顶层则是应用程序。
软件堆栈顺序(底层到顶层)
1.Linux Kernel(Linux内核)
2.系统库(核心库、Dalvik虚拟机). 包含了基本的Java类库,Dalvik虚拟机类似于JVM,是一个用于安卓平台的虚拟机,它可以简单的完成进程隔离和线程管理,并且可以提高内存的使用效率,Dalvik虚拟机执行扩展名为.dex的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
3.application framework(应用框架) 软件层,开发自己的软件,安装到手机上运行。
开发基本术语
SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合
ADT:(Android Developer Tools)Eciplse下的Andnroid安卓开发工具插件
AS:AndoirdStudio google自己的基于jetbrain的android集成开发环境
APK: AndroidPackage的缩写,即Android安装包(apk)。
JNI:JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
Native 代码:Native代码主要是C或者C++的。代码编写者可以使用JNI从Java的程序中调用Native代码。
NDK: Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。
ADT: Eclipse 平台下用来开发 Android 应用程序的插件。
binder: Binder是Android系统进程间通信(IPC)方式之一。
ServiceManager: servicemanager是一个守护进程,用于管理系统中各个服务
Surface:中文意思表面。surface专门用来处理屏幕排版器(screen compositor)管理的一块内存,这块内存是用来直接绘制到屏幕的
网友评论