《Android系统开发》笔记1:Android系统概述
Android四层架构:
1. Linux Kernel&driver层
a.依赖于Linux 2.6内核,包括安全性,内存管理,进程管理,网络协议栈,驱动模型等
b.Android自己添加的驱动,Binder IPC驱动,显示驱动,输入设备驱动,音频系统驱动,摄像头驱动,Wifi驱动,蓝牙驱动,电源管理等
2. Android本地库 & Java运行环境层
Android本地库(C/C++)
Bionic:为嵌入式设备定制的C系统函数库libc
OpenCore:多媒体库
… …
Java运行环境
Dalvik是Android中的java虚拟机,可支持同时运行多个虚拟机实例;
每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例;
所有java类经过java编译器编译,然后通过SDK中的dx工具转成.dex格式交由虚拟机执行
3. Android应用程序框架层
为最上层的应用程序提供一系列服务和系统,包括:
Views:如Lists, girds, buttons等UI元素;
Content Providers:应用程序之间的数据共享;
Resource Manager: 提供对本地字符串,图形,Layout等资源的访问;
Notification Manager: 在状态栏显示自定义提示信息
Activity Manager: 管理Activity生命周期
4. Android应用程序层
基于Java语言的应用程序,既包括Android系统提供的核心应用程序(E-mail客户端,SMS,日历,浏览器,通讯簿等),又包括用户开发的Android应用程序
Android系统的三种开发模式:
1. Android应用开发
基于Android提供的系统API(第三层java framework)进行应用层面的开发,通常基于Android SDK开发即可
2. Android系统开发
通常涉及用户空间各层的开发:C或C++本地库,JNI层,Java类库,应用层
3. Android移植开发
Linux中相关设备的驱动程序开发,比如LCD,触摸屏,键盘,音频,摄像头,蓝牙等;
以及硬件抽象层的开发,硬件抽象层在用户空间,介于驱动和Android系统之间
Android开发辅助工具
aapt:用于建立zip兼容的包,如zip,jar,apk
adb(Android debug bridge),可以通过网络或者USB的方式连接,如果使用网络方式,需要设置ADBHOST环境变量(?)
AIDL(Android Interface Description Language):可生成进程间接口的代码,如Service可能使用的接口
DDMS(Dalvik Debug Monitor Service):能够在模拟器或者设备上管理进程并协助调试
Draw 9-patch:NinePatch是Android平台特有的一种非矢量图形自然拉伸处理方法,可以帮助常规的图形在拉伸时不会缩放;Draw 9-patch允许使用所见即所得方式创建NinePatch图形
Hierarchy Viewer: 用来调试和优化用户界面
mksdcard:创建disk image,可以在模拟器环境下模拟sd卡
TraceView:可以将Android应用程序的trace log图形化
Android系统进程
init进程(1号进程),父进程为0号进程,执行根目录底下的init可执行程序,是用户空间进程
——-> /system/bin/sh
——-> /system/bin/mediaserver
——-> zygote
—————–> system_server
—————–>com.android.phone
—————–>android.process.acore(Home)
… …
kthreadd进程(2号进程),父进程为0号进程,是内核进程,其他内核进程都是直接或者间接以它为父进程
Logcat的使用
http://www.zooyoo.org/?p=10560
ref:
http://www.cppblog.com/iuranus/archive/2009/08/04/92109.html
- 大小: 71.6 KB
分享到:
相关推荐
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
【标题】"android应用源码zz-doctor中医大夫助理信息系统.rar"揭示了这是一份针对Android平台开发的应用程序源代码,专门设计用于辅助中医大夫进行日常工作。这个系统可能集成了病症诊断、处方建议、病例记录等多种...
《Android应用源码解析:zz-doctor中医大夫助理信息系统》 在移动开发领域,Android操作系统以其开源、灵活的特性,成为开发者们的重要选择。本文将深入探讨一款名为"zz-doctor"的中医大夫助理信息系统的Android...
1. Android平台:作为基础开发框架,Android提供了丰富的API和组件,使得开发者能够构建出功能强大的移动应用。本项目利用了Android Studio进行开发,其集成的IDE和Gradle构建系统极大地提高了开发效率。 2. Java...
在Android开发中,"K线图"是一种常用的数据可视化工具,尤其在金融应用中,用于展示股票、期货等市场的价格走势。K线图源于日本,也被称为蜡烛图,因其图形形状类似蜡烛而得名。它通过四个关键数据点——开盘价、...
《Android应用源码zz-doctor中医大夫助理信息系统》是一款针对中医大夫日常工作设计的移动应用程序,旨在提高医生的工作效率,提供便捷的病人管理、诊断辅助以及医疗知识查询等功能。这款应用适用于IT计算机专业的...
在Android开发中,自定义地图是一项重要的技能,它允许开发者根据特定需求打造个性化的地图界面。本篇将深入探讨如何实现“Android自定义地图”,包括定位图标、自适应缩放、手势缩放以及双击缩放功能。 首先,我们...
android应用源码tooxin图信美图.rar android应用源码yannihui(音乐播放器).rar android应用源码Zirco-browser浏览器.rar android应用源码zz-doctor中医大夫助理信息系统.rar Android应用源码之极致拟物化空气质量...
《Android应用源码解析:zz-doctor中医大夫助理信息系统(简化版)》 在移动互联网时代,Android作为全球最大的智能手机操作系统,为开发者提供了丰富的平台来创建各种应用。本篇文章将深入探讨一个基于Android的源码...
《安卓Android源码——zz-doctor中医大夫助理信息系统》 在深入探讨这个安卓应用程序之前,首先需要理解Android操作系统的基本架构。Android是一个开源的移动设备操作系统,由谷歌主导开发,主要应用于智能手机和...
《Android应用源码解析:zz-doctor中医大夫助理信息系统》 在移动医疗领域,Android平台的应用程序发挥着至关重要的作用,它们为医生和患者提供了便捷的交流与诊疗工具。本篇我们将深入探讨“zz-doctor中医大夫助理...
《Android应用源码zz-doctor中医大夫助理信息系统详解》 在移动互联网时代,Android平台以其开源、可定制性以及广泛的用户基础,成为了开发者们的重要舞台。本篇文章将深入解析名为"zz-doctor"的Android应用源码,...
《Android应用源码zz-doctor中医大夫助理信息系统详解》 在深入探讨Android应用源码zz-doctor中医大夫助理信息系统之前,我们先理解一下这个项目的背景和目标。此项目旨在为中医大夫提供一个辅助信息系统,通过...
中医大夫助理信息系统“zz-doctor”是一款基于Android平台的应用程序,旨在为中医医生提供智能化、便捷化的诊疗辅助工具。通过深入剖析这款应用的源码,我们可以了解到Android开发的多个关键知识点,以及中医信息化...
Android应用源码安卓源码(172个合集),可以做为你的学习参考。 365MobileSecretary v1.0.6(365手机助手AIDL) 888个经典 Logo.rar AdXmpp(Openfire+asmack+spark) .zip AidlDemo(简单aidl的...zz-doctor中医大夫助
【标题】"安卓Android源码——zz-doctor中医大夫助理信息系统(简化版).zip" 提供的是一个基于Android平台的医疗应用源代码,主要针对中医大夫的助手系统。这个简化版可能包含了一些基本功能,旨在帮助中医大夫进行...