27.02.2014 Views

Android 开发教程

Android 开发教程

Android 开发教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

-----------------------------------<strong>Android</strong> 编 程 基 础<br />

从 Google 目 前 release 的 Linux 系 统 来 看 , 其 没 有 虚 拟 内 存 文 件 系 统 , 系 统 所 用 的 是 yaffs2 文 件 系 统 , 具 体<br />

的 映 像 也 都 位 于 SDK 安 装 目 录 下 。 通 过 emulator -console 命 令 , 我 们 可 以 在 host 中 断 下 得 到 一 个 简 单 的 可 以<br />

控 制 <strong>Android</strong> 的 shell , 这 个 系 统 包 含 了 一 个 Toolbox , 提 供 一 些 基 本 的 命 令 工 具 , 集 中 在<br />

/sbin,/system/sbin,/system/bin 中 , 但 是 很 简 陋 , 命 令 种 类 也 很 少 。<br />

目 前 <strong>Android</strong> 的 程 序 安 装 模 式 是 靠 Eclipse 自 动 进 行 的 , 通 过 对 底 层 的 分 析 可 知 , 大 致 步 骤 就 是 在 /data/app 和<br />

data/data 下 存 放 android 底 层 和 普 通 内 核 没 有 什 么 大 的 区 别 , 我 们 可 以 将 其 作 为 一 个 Linux 来 进 行 开 发 和<br />

hacking。<br />

Lib 和 运 行 环 境<br />

lib<br />

C/C++ 库 : 被 各 种 <strong>Android</strong> 组 件 使 用<br />

通 过 应 用 程 序 框 架 开 发 者 可 以 使 用 其 功 能<br />

包 括 :<br />

‣ 媒 体 库 :MPEG4 H.264 MP3 JPG PNG .....<br />

‣ WebKit/LibWebCore:Web 浏 览 引 擎<br />

‣ SQLite 关 系 数 据 库 引 擎<br />

‣ 2D,3D 图 形 库 、 引 擎<br />

丰 富 的 类 库 支 持 :2D 和 3D 图 像 库 OpenGL ES、 数 据 库 SQLite、 对 象 数 据 库 db4o 类 库 、 媒 体 库 、 基 于 Linux<br />

底 层 系 统 C 库 等 等 , 让 应 用 开 发 更 简 单 多 样 。Google 使 用 Apache 的 Harmony 类 库 ,Harmony 某 些 方 面 速 度<br />

快 于 Sun 的 VM。Runtime 在 Dalvik Java VM 上 ,Dalvik 采 用 简 练 、 高 效 的 byte code 格 式 运 行 , 它 能 够 在 低<br />

资 耗 和 没 有 应 用 相 互 干 扰 的 情 况 下 并 行 执 行 多 个 应 用 。<br />

运 行 时 环 境<br />

<br />

<br />

<br />

<br />

<br />

核 心 库 提 供 的 Java 功 能<br />

Dalvik 虚 拟 机 依 赖 于 Linux 内 核 , 例 如 线 程 或 底 层 内 存 管 理<br />

设 备 可 以 运 行 多 个 Dalvik 虚 拟 机 , 每 一 个 <strong>Android</strong> 应 用 程 序 在 它 自 己 的 Dalvik VM 实 例 中 运 行<br />

VM 执 行 优 化 的 Dalvik 可 执 行 文 件 (.dex)<br />

Dx- 工 具 把 编 译 过 的 Java 文 件 转 换 为 dex 文 件<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!