android系统介绍

Android系统介绍

1.

什么是android

Android是移动设备的软件堆层(software stack,又名以软件叠层),包括操作系统,中间件和关键应用。Android 架构(google)

Android架构(高通)

Android代码结构介绍: 版本:2.2.1 平台:高通7X27

Build ID: M76xxTSNCJNLYA70301

Bionic 是一个C库的目录

Build 是编译文件的目录,包括编译选项,和环境变量的设置。

Dalvik是android的java虚拟机的源码目录,对于Android的Java应用程序来说,每一个应用对对应于一个独立的Dalvik虚拟机实例进程,当然每个Android Java应用程序的线程也对应于一个Linux线程。这相当于每个Android Dalvik应用程序都运行在自己的沙盒里面从而保证Dalvik应用程序的安全性。当然Android系统也充分利用了这个特性,每个Android Dalvik应用程序都被赋予了一个独立的Linux PID(app_*)。

Development是配合开发android源码的一些工具和如何使用window,mac,linux等系统的工具的介绍的目录。

External 还是一些扩展库。

Framework 是android的核心框架,提供了很多上层使用的api和服务。这个部分是android平台的基础。Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以JAVA构建的,因此本层次提供的首先包含了UI程序中所需要的各种控件:例如: Views (视图组件)包括 lists(列表), grids(栅格), text boxes(文本框), buttons(按钮)等。甚至一个嵌入式的Web浏览器。

一个Andoid的应用程序可以利用应用程序框架中的以下几个部分: Activity (活动)

具有可视 UI 的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。

Broadcast Intent Receiver (广播意图接收者)

Android 应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。

Service (服务)

服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。 Content Provider (内容提供者)

可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的访问,例如 SQLite 数据库。如果应用程序非常简单,那么可能不需要创建内容提供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问。

Hardware是软件对硬件的抽象层,HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。在这里面google提供了通用的api,使各个平台去实现api。从而做到各个平台能否兼容android的上层。比如高通不仅实现google的api,在google的hal层下面又加了qualcomm hal。

Ndk是google为了兼容原生态代码提供的解决方案,比如c,C++。 Packages是Android的一些随着源代码自带的核心应用程序,AccountsAndSyncSettings,AlarmClock,Bluetooth,Browser,Calculator,Calendar,Camera,CertInstaller,Contacts,DeskClock,Email,FM,Gallery,Gallery3D,HTMLViewer,IM,Launcher2,Mms,Music,PackageInstaller,Phone,Protips,Provision,QualcommSoftAP,QuickSearchBox,Settings,SoundRecorder,SpeechRecorder,Stk,TSCalibration,VoiceDialer,还有输入法。

Sdk是google提供的app开发平台。这里说一下Google的apk

System是android底层的一些库。这个底层就是kernel上边,framework下边。里面还有一些系统工具。

Out目录是编译生成的,里面包含了编译生成的目标文件,以及开发android手机使用的软件工具。其中编译生成的目标文件在out/target/product目录下,软件工具在out/host/linux-x86/bin目录下。下面介绍一下android手机开发经常使用使用的自带工具:

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4