android是什么我自闭不必多说,我们挑精华整理

  一.android体系架构:

  android从下而上分为四层:

  (1)分别是linux操作系统及驱动(C语言实现)

  (2)本地代码(C/C++)框架(C/C++)

  (3)Java框架 (Java)

  (4)Java应用程序(Java)

  详见下图:

    

Android 的第 1 层次由 C 语言实现,第 2 层次由 C 和/C++实现,第 3、 4 层次主要由 Java 代码实现。
第 1 层次和第 2 层次之间,从 Linux 操作系统的角度来来看,是内核空间与用户空间的分界线,第 1 层次
运行于内核空间,第 2、 3、 4 层次运行于用户空间。
第 2 层次和第 3 层次之间,是本地代码层和 Java 代码层的接口。
第 3 层次和第 4 层次之间,是 Android 的系统 API 的接口,对于 Android 应用程序的开发,第 3 层次以下
的内容是不可见的,仅考虑系统 API 即可。
由于 Android 系统需要支持 Java 代码的运行,这部分内容是 Android 的运行环境( Runtime),由虚拟机和
Java 基本类组成。
对于 Android 应用程序的开发,主要关注第 3 层次和第 4 层次之间的接口。
除了软件本身的代码之外, Android 还提供了一系列工具来辅助系统开发,这些主要的工具包括:
„ aapt( Android Asset Packaging Tool):用于建立 zip 兼容的包( zip、 jar、 apk),也可用于将资源编译到二进
制的 assets。
„ adb( Android Debug Bridge, Android 调试桥):使用 adb 工具可以在模拟器或设备上安装应用程序的.apk
文件,并从命令行访问模拟器或设备。也可以用它把 Android 模拟器或设备上的应用程序代码和一个标准
的调试器连接在一起。
„ android 工具: android 工具是一个脚本,用于创建和管理 Android Virtual Devices ( AVDs)。
„ AIDL 工具( Android Interface Description Language, Android 接口描述语言工具), AIDL 工具可以生成进程
间接口的代码,诸如 Service 可能使用的接口。
„ AVDs( Android Virtual Devices, Android 虚拟设备)
„ 用于配置模拟器,模拟出类似的设备效果
„ DDMS( Dalvik Debug Monitor Service, Dalvik 调试监视器服务):这个工具集成了 Dalvik,能够在模拟器
或者设备上管理进程并协助调试。可以使用它杀死进程,选择某个特定的进程来调试,产生跟踪数据,观
察堆( heap)和线程信息,截取模拟器或设备的屏幕画面,还有更多的功能。
„ dx: dx 工具用于将.class 字节码( bytecode)转换为 Android 字节码(保存在.dex 文件中)这个字节码文件
是给 Android 的 Java 虚拟机运行用的。
„ Draw 9-patch: Draw 9-patch 工具允许使用所见即所得( WYSIWYG)的编辑器轻松地创建 NinePatch 图形。
„ Emulator(模拟器):模拟器是一个运行于主机上的程序,可以使用模拟器来模拟一个实际的 Android 系统
的运行,使用模拟器非常适合调试和测试应用程序。
„ Hierarchy Viewer(层级观察器):层级观察器工具允许调试和优化用户界面。它用可视的方法把视图( view)
的布局层次展现出来,此外,还给当前界面提供了一个具有像素栅格( grid)的放大镜观察器。
„ mksdcard:帮助创建磁盘映像( disk image),可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如
SD 卡)。
„ Monkey: Monkey 是在模拟器或设备上运行的一个小程序,它能够产生随机的用户事件流,例如:点击
( click)、触摸( touch)、挥手( gestures),还包括一系列系统级事件。可以使用 Monkey 给正在开发的程序做随机的但可重复的压力测试。
„ sqlite3: sqlite3 工具能够方便地访问 SQLite 数据文件,这是一个 sqlite 标准命令行工具。
„ Traceview:这个工具可以将 Android 应用程序产生的跟踪日志( trace log)转换为图形化的分析视图。

android自学笔记一的更多相关文章

  1. Android自学笔记:Git下载源代码

    Info:做J2ME几年了,现在基本没有公司用了,是时候向Android领域进军了. 自学中,难免会有疏漏,有问题请及时提出,共同学习共同进步. 2014-10-13:初版 2014-10-14:添加 ...

  2. Android自学笔记:环境配置

    Info: 自学Android之旅第二篇,初步学习会有疏漏,以后我会不断修改补全,直到完美. 2014-10-09:初版 2014-11-12: 重新配置了一台电脑,更新在学习robotium过程中, ...

  3. 疯狂安卓Android自学笔记

    开发者必备自学工具: 谷歌搜索:www.yundou.info Android原版开发文档 (英文) Doc http://www.phoned.cn/docs/reference/android/v ...

  4. android自学笔记(1):android简介

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较 多人使用“安卓 ...

  5. 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...

  6. 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...

  7. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

  8. android 应用笔记

    android 应用笔记 android 应用笔记 小书匠 Android 综合教程 Android常用技巧 安卓系统架构 安卓源码开发 安卓驱动 Linux内核 安卓应用开发 Java 教程 tic ...

  9. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

随机推荐

  1. worker中加载本地文件报错的解决方案

    如果在一个swf的主线程中加载文件时,报安全沙箱的错误, 网上有诸多的解决方案.但是如果在一个worker中加载本地文件报类似如下的错误: *** 安全沙箱冲突 *** SecurityError: ...

  2. WindowsService(Windows服务)开发步骤附Demo 【转】

    转http://www.cnblogs.com/moretry/p/4149489.html 1.打开VS,新建项目,选择Windows服务,然后设置目录及项目名称后点击确定. 2.展开Service ...

  3. Java 基础知识点(必知必会其一)

    如何将字符串转换为数字? package Day_2; /** * @author Administrator * 功能: 如何将字符串转换为数字? */ public class StringToI ...

  4. Java 集合系列 15 Map总结

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  5. JDE处理选项

    处理选项为JDE的一种数据结构,命名方式如下: The name of a data structure can be a maximum of characters-only if you begi ...

  6. BZOJ2494 Triangles and Quadrangle

    一道非常"简单"的计算几何题... 题意:给你两个三角形和一个四边形,问你能否用这两个三角形拼成这个四边形 首先...四边形可能是凹四边形...需要判断一下...这个比较简单直接分 ...

  7. NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目

    在几年的时间里,NodeJS逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量网站都采用NodeJS进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动Web框架. 除 ...

  8. JBOss启动只能在本机访问的解决办法

    环境CentOS6.4_X64 JBoss:5.1.2 eap 启动:JBOSS_HOME/bin/run.sh 在本机可以通过http://localhost:8080访问,而其他机器无论是通过机器 ...

  9. sql语句查询重复的数据

    查找所有重复标题的记录: SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)OR ...

  10. flash as3 socket安全服务网关(socket policy file server)

    关键字: SecurityErrorEvent socket as3 flash有着自己的一套安全处理模式,在socket方面,我这样的菜鸟无法理解他的好处:一句话,不怀好意的人如果想用flash写一 ...