Android中文文档.pdf
什 么 是 Android?A ndroid是 一 个 专 门 针 对 移 动 设 备 的 软 件 集,它 包 括 一 个 操 作 系 统,中 间 件 和 一 些 重 要 的 应 用 程 序。Beta版 的 Android S D K提 供 了 在 Android平 台 上 使 用 JaVa语 言 进 行 Android应 用 开 发 必 须 的 工 具 和 A P I接 口。特 性 应 用 程 序 框 架 支 持 组 件 的 重 用 与 替 换 D a lv ik虚 拟 机 专 为 移 动 设 备 优 化 集 成 的 浏 另 器 基 于 开 源 的 Web的 t 引 擎 优 化 的 图 形 库 包 括 定 制 的 2 D 图 形 库,3 D 图 形 库 基 于 OpenGL ES 1.0(硬 件 加 速 可 选)S Q L ite用 作 结 构 化 的 数 据 存 储 多 媒 体 支 持 包 括 常 见 的 音 频、视 频 和 静 态 图 像 格 式(如 MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,G IF)G S M 电 话 技 术(依 赖 于 硬 件)蓝 牙 Bluetooth,EDGE,3 G,和 WiFi(依 赖 于 硬 件)照 相 机,G P S,指 南 针,和 加 速 度 计(accelerom eter)(依 赖 于 硬 件)丰 富 的 开 发 环 境 包 括 设 备 模 拟 器,调 试 工 具,内 存 及 性 能 分 析 图 表,和 Eclipse集 成 开 发 环 境 插 件 Android 架 构 下 图 显 示 的 是 Android操 作 系 统 的 主 要 组 件。每 一 部 分 将 会 在 下 面 具 体 描 述。A P P L I C A T I O N SHome Contacts Phone BrowserA P P L I C A T I O N F R A M E W O R KW indowManagerContentProvidersViewSystemActivity ManagerPackage ManagerTelephonyManagerResourceManagerL I B R A R I E SSurface ManagerMedhFrameworkSQLtteOpenGL|ES Freelype W ebKitSGL SSL libcLocauonManagerNotificationManagerA N D R O I D R U N T I M ECore LibrariesDalvikVirtual UMachineL I N U X K E R N E LDisplayDriverKeypad DriverCamera DriverFlash MemoryDriverBinder(IPC)DriverW iFi DriverAudioDriversPowerManagement应 用 程 序 Android会 同 一 系 列 核 心 应 用 程 序 包 一 起 发 布,该 应 用 程 序 包 包 括 em ail客 户 端,S M S短 消 息 程 序,日 历,地 图,浏 览 器,联 系 人 管 理 程 序 等。所 有 的 应 用 程 序 都 是 使 用 JA V A语 言 编 写 的。应 用 程 序 框 架 开 发 人 员 也 可 以 完 全 访 问 核 心 应 用 程 序 所 使 用 的 A P I框 架。该 应 用 程 序 的 架 构 设 计 简 化 了 组 件 的 重 用;任 何 一 个 应 用 程 序 都 可 以 发 布 它 的 功 能 块 并 且 任 何 其 它 的 应 用 程 序 都 可 以 使 用 其 所 发 布 的 功 能 块(不 过 得 遵 循 框 架 的 安 全 性 限 制)。同 样,该 应 用 程 序 重 用 机 制 也 使 用 户 可 以 方 便 的 替 换 程 序 组 件。隐 藏 在 每 个 应 用 后 面 的 是 一 系 列 的 服 务 和 系 统,其 中 包 括;丰 富 而 又 可 扩 展 的 视 图(Views),可 以 用 来 构 建 应 用 程 序,它 包 括 列 表(lis t s),网 格(g r id s),文 本 框(text b o x e s),按 钮(b u tto n s),甚 至 可 嵌 入 的 w e b浏 览 器。内 容 提 供 器(Content Providers)使 得 应 用 程 序 可 以 访 问 另 一 个 应 用 程 序 的 数 据(如 联 系 人 数 据 库),或 者 共 享 它 们 自 己 的 数 据 资 源 管 理 器(Resource Manager)提 供 非 代 码 资 源 的 访 问,如 本 地 字 符 串,图 形,和 布 局 文 件(layout files)。通 知 管 理 器(N。寸 fication Manager)使 得 应 用 程 序 可 以 在 状 态 栏 中 显 示 自 定 义 的 提 示 信 息。活 动 管 理 器(Activity Manager)用 来 管 理 应 用 程 序 生 命 周 期 并 提 供 常 用 的 导 航 回 退 功 能。有 关 更 多 的 细 节 和 怎 样 从 头 写 一 个 应 用 程 序,请 参 考 如 何 编 写 一 个 A n d ro id应 用 程 序.程 序 库 A ndroid包 含 一 些 C/C+库,这 些 库 能 被 Android系 统 中 不 同 的 组 件 使 用。它 们 通 过 A n droid应 用 程 序 框 架 为 开 发 者 提 供 服 务。以 下 是 一 些 核 心 库:.系 统 C 库-个 从 B S D继 承 来 的 标 准 C 系 统 函 数 库(libc),它 是 专 门 为 基 于 embedded lin u x的 设 备 定 制 的。媒 体 库-基 于 PacketvideoOpenCORE;该 库 支 持 多 种 常 用 的 音 频、视 频 格 式 回 放 和 录 制,同 时 支 持 静 态 图 像 文 件。编 码 格 式 包 括 MPEG4,H.264,MP3,A AC,AMR,JPG,P N G。S urface Manager-对 显 示 子 系 统 的 管 理,并 且 为 多 个 应 用 程 序 提 供 了 2 D和 3 D 图 层 的 无 缝 融 合。L ibWebCore 一 个 最 新 的 w e b浏 览 器 引 擎 用,支 持 Android浏 览 器 和 一 个 可 嵌 入 的 w e b视 图。S G L-底 层 的 2 D 图 形 引 擎 3 D libraries-基 于 OpenGLES 1.0 A P Is实 现;该 库 可 以 使 用 硬 件 3D加 速(如 果 可 用)或 者 使 用 高 度 优 化 的 3 D软 加 速。FreeType-位 图(b itm a p)和 矢 量(v e c to r)字 体 显 示。SQLite-一 个 对 于 所 有 应 用 程 序 可 用,功 能 强 劲 的 轻 型 关 系 型 数 据 库 引 擎。Android运 行 库 A ndroid包 括 了 一 个 核 心 库,该 核 心 库 提 供 了 JA V A编 程 语 言 核 心 库 的 大 多 数 功 能。每 一 个 Android应 用 程 序 都 在 它 自 己 的 进 程 中 运 行,都 拥 有 一 个 独 立 的 Dalvik虚 拟 机 实 例。Dalvik被 设 计 成 一 个 设 备 可 以 同 时 高 效 地 运 行 多 个 虚 拟 系 统。Dalvik虚 拟 机 执 行(.dex)的 D alvik可 执 行 文 件,该 格 式 文 件 针 对 小 内 存 使 用 做 了 优 化。同 时 虚 拟 机 是 基 于 寄 存 器 的,所 有 的 类 都 经 由 JA V A编 译 器 编 译,然 后 通 过 S D K中 的 d x 工 具 转 化 成.dex格 式 由 虚 拟 机 执 行。Dalvik虚 拟 机 依 赖 于 lin u x内 核 的 一 些 功 能,比 如 线 程 机 制 和 底 层 内 存 管 理 机 制。Linux内 核 A n d ro id的 核 心 系 统 服 务 依 赖 于 Linux2.6 内 核,如 安 全 性,内 存 管 理,进 程 管 理,网 络 协 议 栈 和 驱 动 模 型。L in u x内 核 也 同 时 作 为 硬 件 和 软 件 栈 之 间 的 抽 象 层。一、开 始 安 装 SDK本 页 内 容 介 绍 如 何 安 装 Android S D K以 及 如 何 设 置 你 的 开 发 环 境。如 果 你 还 没 有 下 载 S D K,你 可 以 点 下 面 的 连 接 进 行 下 载,然 后 阅 读 后 续 文 档 学 习 如 何 安 装,配 置,并 使 用 该 S D K来 创 建 Android应 用 程 序。下 载 SDK升 级?如 果 你 已 经 用 更 早 的 版 本 开 发 过 程,可 以 跳 过 本 页,并 阅 读 升 级 S D K文 档.系 统 和 软 件 需 求 用 Android sd k的 代 码 和 工 具 开 发 Android应 用 程 序,你 需 要 适 合 的 开 发 电 脑 以 及 开 发 环 境,如 下 描 述:所 需 操 作 系 统:Windows XP 或 Vista Mac OS X 1 0.4.8或 更 高 版 本(仅 支 持 x86)Linux(Linux Ubuntu Dapper Drake 版 本 已 测 试)所 需 开 发 环 境:Eclipse IDEo Eclipse 3.3(Europa),3.4(Ganymede)Eclipse J D T插 件(大 多 数 的 Eclipse ID E包 包 含)WST(可 选,但 Android编 辑 器 的 功 能 需 要,它 被 包 含 在 mostEclipse IDE packages 中)O JDK 5 或 JDK 6(只 有 JR E是 不 够 的)o Android Development Tools 插 件(可 选)o 不 兼 容 GNU Java编 译 器(gcj)其 他 开 发 环 境 或 IDEO JDK 5 或 JDK 6(仅 有 JR E不 够)o Apache Ant 1.6.5或 更 高 版 本(L in u x和 M ac环 境 下),1.7或 更 高 版 本(W indows环 境 下)o 不 兼 容 GNU Java编 译 器(gcj)注:如 果 你 的 电 脑 上 已 经 安 装 了 j d k,请 确 定 它 是 上 面 所 列 的 版 本 号。另 外 需 要 注 意 有 些 linux版 本 可 能 包 含 有 jdk 1.4或 者 ja v a的 g n u编 译 器,A droid开 发 是 不 支 持 在 这 两 种 版 本 安 装 SDK下 载 完 S D K后 把.zip文 件 解 压 到 你 电 脑 上 合 适 位 置.默 认 情 况 下,S D K文 件 被 解 压 至 android_sdk_build 又%快.这 个 文 件 夹 包 含 tools/,samples/等.请 注 意 系 统 里 S D K解 压 后 的 文 件 夹 的 名 字 和 位 置 一 当 你 安 装 Android插 件 和 使 用 S D K工 具 时,你 将 需 要 引 用 这 个 文 件 夹。你 可 以 添 加 SDK tools的 文 件 夹 路 径 到 你 的 环 境 变 量 中.如 上 所 述,tools/文 件 夹 位 于 S D K文 件 夹 中。Linux环 境 下,修 改/.bash_profile或 者/.bashrc文 件 找 到 环 境 变 量 设 置 的 地 方,加 入 tools/的 绝 对 路 径。如 果 找 不 到 该 设 置,你 需 要 新 添 加 一 行:export PATH=$PATH:/tools Mac环 境 下,在 你 的 home文 件 夹 里 面 查 找.bash_profile,然 后 和 linux-样 处 理。如 果 之 前 没 有.bash_profile文 件,你 可 以 创 建 一 个 新 的。Windows环 境 下,右 击 我 的 电 脑,并 选 择 属 性.在 标 签 页 高 级,点 击 环 境 变 量,当 对 话 框 出 现,在 系 统 变 量 栏 目 里 双 击 路 径(Path).并 添 加 tools/文 件 夹 的 完 整 路 径.添 加 tools到 你 的 环 境 变 量 里,这 样 你 可 以 运 行 Android Debug Bridge(adb)和 其 他 tools下 命 令,而 不 需 要 输 入 完 整 路 径 名。需 要 说 明 的 是,如 果 你 升 级 你 的 S D K,需 要 将 你 的 相 应 环 境 变 量 更 新 到 新 的 位 置。安 装 Eclipse插 件(ADT)如 果 你 要 使 用 Eclipse IDE作 为 开 发 Android应 用 的 环 境,你 可 以 安 装 支 持 Android工 程 和 工 具 的 通 用 插 件 Android Development Tools(ADT).ADT插 件 包 含 强 大 的 扩 张,使 得 创 建,运 行 和 调 试 Android更 快 速,更 简 单。如 果 你 不 彼 羽 Eclipse ID E,就 不 必 下 载 和 安 装 ADT插 件 下 载 和 安 装 ADT插 件,请 按 照 你 们 各 自 Eclipse版 本 步 骤 安 装。Eclipse 3.3(Europa)Eclipse 3.4(Ganymede)1.开 始 Eclipse,然 后 选 择 HelpSoftware Updates Find andInstall.2.对 话 框 出 现 后,选 择 Searchfor new features to install 点 击 Next.3.点 击 New Remote Site.4.在 对 话 框 中,输 入 远 程 站 点 的 名 字(如 Android P lugin),输 入 站 点 如 下:1.启 动 Eclipse,选 择 Help Software Updates.2.在 出 现 的 对 话 框 里,点 击 标 签 页 Available Software.3.点 击 Add Site.4.输 入 下 面 的 地 址:https:/dl-击 OK.5.返 回 可 用 软 件 的 视 图,你 会 看 到 这 个 插 件.选 择 下 一 步 到 Developer Tools 并 点 击 Install.https:/dl-击 OK.重 启 之 后,update your Eclipse preferences 指 向 SDK 文 件 夹:1.选 择 Window Preferences 来 打 开 属 性 面 板。(Mac OS X:5.你 可 以 看 到 新 的 站 点 添 加 到 搜 索 列 表 中(并 检 查),点 击 Finish.6.在 下 面 的 搜 索 结 果 对 话 框,选 择 复 选 框 Android Plugin Developer T o o ls.它 将 会 检 查 特 性:Android DeveloperTools,和 Android Editors.Android编 辑 器 的 特 性 是 可 选 的,但 我 们 推 荐 安 装 它,如 果 你 选 择 安 装,需 要 前 面 提 到 的 WST插 件。点 击 Next.7.阅 读 许 可 协 议,然 后 选 择 接 受 许 可 协 议,点 击 Next.8.点 击 Finish.9.ADT插 件 没 有 签 名,你 可 以 点 击“Install All”来 安 装 所 有 东 西。10.重 启 Eclipse.6.在 接 下 来 的 安 装 窗 口,选 中 Android Developer ToolsfDAndroid Editors Android 编 辑 器 特 性 是 可 选 的,但 是 我 们 推 荐 安 装 它,如 果 你 选 择 安 装,需 要 前 面 提 到 的 W ST插 件。点 击 Finish.7.重 启 Eclipse。Eclipse Preferences)2.从 左 边 面 板 选 择 Androido3.在 主 界 面 上 定 位 S D K点 击 Browse.然 后 定 位 SDK文 件 夹。4.点 击 A p p ly,然 后 点 击 OK。A D T安 装 疑 难 解 答 I你 如 果 按 照 以 上 步 骤 下 载 ADT插 件 有 疑 问,这 里 是 一 些 建 议:在 第 四 步,尝 试 改 变 远 程 更 新 地 址 URL为 http,而 非 https.如 果 你 在 防 火 墙 保 护 下(企 业 防 火 墙)请 确 定 你 的 Eclipse的 代 理 设 置 合 适。在 Eclipse 3.3/34 你 可 以 从 主 Eclipse菜 单 中 配 置:Window(在 Mac,Eclipse)Preferences General Network Connections如 果 无 法 安 装 下 载 的 ADT插 件 到 Eclipse,按 照 如 下 的 步 骤 来 从 你 的 电 脑 下 载 和 安 装 插 件:1.下 载 ADT压 缩 文 件(不 解 压).2.按 照 默 认 安 装 的 第 一 部 和 第 二 步(如 上).3.在 Eclipse 3.3,点 击 New Archive Site.In Eclipse 3.4,click Add S ite.,然 后 点 击 Archive.4.浏 览 和 选 择 已 经 下 载 的 压 缩 文 件。5.从 第 五 步 开 始 完 成 上 面 剩 下 的 流 程。更 新 你 的 插 件,你 必 须 按 照 这 些 步 骤 代 替 默 认 的 更 行 说 明。更 新 A D T插 件 在 某 些 情 况 下,你 机 器 上 的 SDK可 能 和 ADT插 件 是 兼 容 的,你 可 以 用 以 下 步 骤 从 Eclipse里 更 新 ADT插 件。Eclipse 3.3(Europa)Eclipse 3.4(Ganymede)1.选 择 Help SoftwareUpdates Find and Install.2.选 择 Search for updates ofthe currently installedfeatures 并 点 击 Finish.3.如 果 ADT可 以 更 新,选 择 并 安 装 更 新。或.1.选 择 Help SoftwareUpdates ManageConfiguration.2.展 开 导 航 树 并 选 择 AndroidDevelopment Tools3.Available Tasks 下 选 择 Scan for Updateso1.选 择 Help SoftwareUpdates.2.选 择 标 签 页 InstalledSoftwareo3.点 击 Update.4.如 果 ADT允 许 更 新,选 择 它 并 点 击 Finish.安 装 注 意 事 项Ubuntu Linux注 意 事 项 如 果 你 需 要 帮 助 安 装 和 配 置 java在 你 的 ubuntu机 器 上,下 面 资 源 可 能 对 你 有 帮 助:o https:https:这 里 有 java和 Eclipsed的 安 装 步 骤,先 安 装 Android SDK和 A D T插 件.1.如 果 你 你 开 发 机 上 使 用 64位 版 本,你 需 要 用 apt-get安 装 ia32-libs 包 apt-get install ia32-libs2.下 一 步,安 装 Java:apt-get install sun-java6-bin3.Ubuntu包 管 理 器 现 在 没 有 提 供 Eclipse 3.3版 本 下 载,因 此 我 们 推 荐 你 从(http:downloads/)卜.载。建 议 使 用 Java或 RCP版 本 的 Eclipse.eclipse.org www.eclipse.orq/4.按 照 前 面 部 分 的 提 供 步 骤 来 安 装 SDK和 ADT插 件.其 他 版 本 Linux注 意 事 项 如 果 你 在 安 装 Eclipse的 ADT插 件 遇 到 这 个 错 误:An error occurred during provisioning.Cannot connect to keystore.JKS你 的 开 发 环 境 缺 少 适 合 的 虚 拟 机,安 装 Sun Java 6 可 以 解 决 这 个 问 题,然 后 你 再 重 新 安 装 ADT插 件。如 果 J D K已 经 安 装 到 你 的 开 发 电 脑 上,请 确 定 其 版 本 在 这 页 的 顶 部 列 表 中 已 经 列 出,有 些 Linux包 含 jdk1.4 或 者 ja v a的 g n u编 译 器,以 上 二 者 Android不 支 持。更 新 SDK本 指 南 将 帮 助 您 升 级 您 的 开 发 环 境 和 应 用 程 序 到 S D K的 最 新 版 嘻 如 果 你 已 经 应 用 了 以 前 版 本 的 Android S D K,也 需 要 使 用 本 指 南。为 了 确 保 您 的 应 用 程 序 能 够 兼 容 androidl.O系 统,您 需 要 安 装 新 的 S D K和 用 新 的 A P I移 植 现 有 的 android应 用 程 序,以 卜 一 各 节 指 导 您 完 成 这 一 进 程。安 装 新 的 SDK卜 载 S D K 并 解 压 到 一 个 安 全 的 位 置。解 压 新 的 S D K以 后,您 应 该 完 成 下 面 的 操 作。擦 除 你 的 模 拟 器 的 数 据 由 于 新 的 S D K版 本 发 布,一 些 数 据 格 式 改 变 了。因 此 任 何 以 前 保 存 的 模 拟 器 数 据 必 须 清 除。打 开 一 个 控 制 台/终 端 和 操 作 S D K中 的/to o ls目 录。启 动 模 拟 器 瘦 wipe-data的 选 项 Windows:emulator-wipe-dataMac/Linux:./emulator-wipe-data 更 新 您 的 PATH变 量(Mac/Linux;可 选)如 果 你 以 前 设 置 PATH变 量 为 指 向 的 SDK to o ls目 录,那 么 您 必 须 更 新 以 指 向 新 的 SDK 的。E.g.,.bashrc or.bash_profile file:exportPATH=$PATH:/tools更 新 ADT Eclipse插 件 如 果 您 在 Eclipse上 使 用 A D T插 件 开 发,请 按 照 下 列 步 骤 安 装 新 的 插 件 匹 配 新 的 SDK。Eclipse 3.3(Europa)Eclipse 3.4(Ganymede)1.选 择 Help SoftwareUpdates Find and Install.2.选 择 Search for updates of1.选 择 Help SoftwareUpdates.2.选 择 the Installed Software重 新 启 动 之 后,更 新 您 的 Eclipse设 置 指 向 S D K目 录。1.选 择 Window Preferences.to open the Preferences panel.(Macthe currently installed tab.features 并 点 击 Finish.3.点 击 Update.3.如 果 任 何 A D T有 效,选 择 并 安 4.如 果 任 何 A D T有 效,选 择 并 点 装 击 Finish4.重 启 Eclipse.5.重 启 EclipseoOSX:Eclipse Preferences)2.选 择 Android from the left panel.3.对 于 在 主 面 板 中 S D K的 定 位,点 击 B row se.并 找 到 S D K的 目 录。4.点 击 A p p ly,然 后 OK.建 立 应 用 程 序 签 名 所 有 应 用 程 序 在 安 装 它 们 之 前 都 必 须 被 签 名。A D T插 件 和 a n t为 基 础 的 开 发 工 具 都 支 持 这 一 要 求,它 们 通 过 带 一 个 调 试 K E Y瘦 ap k文 件 来 签 发 编 译。为 了 做 到 这 一 点,编 译 工 具 使 用 包 括 在 J D K的 Keytool去 创 造 一 个 keystore和 带 着-个 已 知 的 别 名 和 密 码 一 个 ke y带 着 一 个 已 知 的 别 名 和 密 码。如 需 详 细 信 息,请 查 阅 签 名 你 的 应 用 程 序.为 了 支 持 签 签 名,你 应 该 首 先 确 认 Keytool对 于 S D K的 编 译 工 具 是 有 效 的。在 大 多 数 情 况 下,你 可 以 告 诉 的 S D K编 译 工 具 如 何 找 到 K e yto o l,通 过 设 置 你 的 JAVA_HOME环 境 变 量 设 置 和 一 个 合 适 的 JDK。另 外,您 也 可 以 添 加 keytool的 JD K版 本 至 U您 的 PATH变 量 如 果 你 正 在 开 发 Linux的 一 个 版 本,那 原 本 使 用 的 是 G N U的 JA V A编 译 喷,请 确 保 该 系 统 正 在 使 用 的 Keytool的 JD K版 本,而 不 是 使 用 gcj,如 果 keyt o o l已 经 在 您 的 路 径,它 可 能 是 指 向 在 一 个 符 号 链 接 是/usr/bin/keytool。在 这 种 情 况 下,检 查 符 号 链 接 的 目 标,以 确 保 它 指 向 正 确 的 Keytool.如 果 您 使 用 的 a n t编 译 你 的.apk文 件/而 不 是 A D T,你 必 须 重 新 产 生 你 的 build.xml文 件。为 了 做 到 这 一 点,请 执 行 下 列 步 骤:1.在 您 的 android应 用 程 序 工 程 目 录 中,找 到 并 删 除 目 前 的 build.xml文 件 2.2.运 行 actMtycreator,直 接 输 出 到 包 含 您 的 应 用 程 序 项 目 的 文 件 夹 3.-exec activitycreator一 一 out your.activity,YourActivity运 行 这 种 方 式 qacMvityCreator不 会 擦 出 或 创 建 新 的 Ja va文 件(或 manifest文 件 金,对 于 那 些 已 经 存 在 的 activity和 package。重 要 的 是,package和 activity是 真 实 存 在 的。该 工 具 创 建 一 个 新 的 build.xm l文 件,以 及 一 个 新 的 目 录 称 libs中,这 个 目 录 将 放 置 第 三 方 ja r文 件,这 是 你 就 能 够 使 用 a n t脚 本 自 动 处 理。移 植 您 的 应 用 程 序 更 新 过 您 的 S D K以 后,您 可 能 会 遇 到 破 损 的 代 码,由 于 框 架 和 A P I的 变 化。您 需 要 更 新 您 的 代 码 以 匹 配 变 化 的 Andriod的 API。一 种 方 法 是 用 Eclipse打 开 您 的 项 目 和 查 看 你 的 应 用 程 序 中 A D T的 标 记 错 误。从 这 里,你 可 以 查 找 对 应 的 变 势 变 化 预 览 and A P I变 化 报 告.如 果 您 更 新 您 的 代 码 有 其 他 麻 烦,请 访 问 android小 组 讨 论 寻 求 帮 助 或 者 求 助 于 其 他 android开 发 人 员.如 果 已 经 修 改 了 一 个 ApiDemos应 用 程 序,并 希 望 移 植 到 新 的 S D K的,请 注 意 您 将 需 要 卸 载 模 拟 器 中 预 装 的 ApiDemos版 本。了 解 更 多 信 息,或(运 行 或 安 装 ApiDem os)遇 到 一 个 重 新 安 装”的 错 误,见 疑 难 解 答 论 熊 因 为 签 名 错 误,我 不 能 在 我 的 ID E中 安 装 ApiDemos应 用 程 序 来 获 得 解 决 这 个 问 题 的 信 息。开 发 和 调 试 这 一 节 将 介 绍 在 android上 开 发 调 试 应 用 程 序。它 将 教 会 我 们 如 何 创 建,编 译,运 行 以 及 调 试 android代 码。或 者,你 也 可 以 从 Hell。Android tutohal.开 始 主 要 内 容 1.在 e clip se上 开 发 android 应 用 程 序 2.利 用 其 他 IDE和 工 具 开 发 an d ro id应 用 程 序 3.给 应 用 程 序 签 名 4.A p iD e m o示 例 程 序 用 法 5.调 试 6.设 备 上 的 调 试 和 测 试 设 置 7.顶 端 调 试 技 巧8.编 译 安 装 一 个 android应 用 程 序 9.移 除 android程 序 10.Eclipse 技 巧 在 eclipse上 开 发 Android应 用 程 序 在 用 eclipse ID E开 发 android应 用 程 序 之 前,你 首 先 要 创 建 一 个 Android工 程,并 且 建 立 一 个 启 动 配 置,在 此 之 后 你 才 可 以 开 始 编 写,运 行,以 及 调 试 你 的 应 用 程 序。以 下 章 节 是 假 设 你 已 经 在 eclipse环 境 中 安 装 了 A D T插 件,如 果 你 没 有 安 装,请 安 装 之 后 再 使 用 以 下 说 明。参 考 安 装 e clip se插 件(ADT)创 建 一 个 android工 程 A D T提 供 了 一 个 新 的 工 程 向 导,你 可 以 快 速 的 创 建 一 个 新 的 工 程 或 者 在 现 有 代 码 上 创 建 工 程。创 建 工 程 的 步 骤 如 下:选 择 File New Project1.选 择 Android Android P ro ject,然 后 按 下 Next2.选 择 项 目 内 容:o 选 择 Create new project in w o rk s p a c e,为 编 码 创 建 一 个 全 新 的 工 程。输 入 工 程 名 称(project n a m e),基 础 软 件 包 的 名 称(the basepackage n a m e),以 及 A ctivity类 的 名 称。以 创 建 stub.java文 件 等 文 件 和 程 序 名 字。o 选 择 Create project from existing source,为 已 有 代 码 创 建 一 个 工 程。如 果 你 想 编 译 运 行 S D K中 提 供 的 示 例 程 序,可 以 使 用 这 个 选 项。示 例 程 序 的 存 放 在 S D K的 samples/目 录 下。浏 览 包 含 已 有 代 码 的 目 录,点 击 ok,如 果 目 录 中 包 含 有 可 用 的 androidm anifest文 件,A D T将 为 你 填 写 合 适 的 软 件 包,a c tiv ity,和 应 用 程 序 名 称。3.按 下 Finish.A D T插 件 会 根 据 你 的 工 程 类 型 创 建 合 适 的 文 件 和 文 件 夹,如 下:s r c/包 含 stub.java Activity文 件 的 文 件 夹.r e s/资 源 文 件 夹.AndroidManifest.xml 工 程 清 单.创 建 一 个 启 动 项 能 够 在 eclipse上 运 行 调 试 应 用 程 序 之 前,你 必 须 为 它 创 建 一 个 启 动 项。启 动 项 指 定 哪 个 工 程 将 被 启 动,哪 个 actM ty开 始 工 作,以 及 使 用 哪 些 模 拟 器 选 项 等。按 照 以 下 步 骤 为 Eclipse版 本 的 应 用 程 序 创 建 合 适 的 启 动 项:1.打 开 启 动 项 管 理 工 具。o 在 Eclipse 3.3(Europa)的 版 本 中,酌 情 选 择 Run Open RunDialog.or Run Open Debug Dialog.0o 在 Eclipse 3.4(Ganymede)版 本 中,酌 情 选 择 Run RunConfigurations.or Run Debug Configurations.。2.在 左 边 的 工 程 类 型 列 表 选 择 Android Application选 择,双 击(或 者 点 击 右 键 选 择 n e w),创 建 一 个 新 的 启 动 项。3.输 入 启 动 项 名 称。4.在 Android标 签 中,浏 览 要 开 始 的 工 程 和 A c tM ty。5.在 Target标 签 中,设 置 想 要 显 示 的 屏 幕 及 网 络 属 性,以 及 其 他 任 何 模 拟 器 启 动 选 项。6.你 可 以 在 Com m on标 签 中 设 置 更 多 的 选 项.7.按 下 A pply保 存 启 动 配 置,或 者 按 下 R un或 Debug()。运 行 和 调 试 应 用 程 序 一 旦 你 设 定 了 工 程 和 工 程 启 动 配 置,你 就 可 以 按 照 以 下 的 说 明 运 行 和 调 试 应 用 程 序 了。从 eclipse主 菜 单,根 据 情 况 选 择 R unR un或 者 R unD ebug,开 始 运 行 或 者 调 试 活 动 启 动 项。注 意,这 里 活 动 启 动 项 是 在 运 行 配 置 管 理 中 最 最 近 一 次 选 中 的 那 个。它 不 一 定 就 M S Eclipse N avigation面 板 中 选 择 的 程 序(如 果 有 的 话)设 置 和 修 改 活 动 启 动 项,可 以 使 用 启 动 项 管 理 工 具。如 何 获 得 启 动 项 管 理 工 具 可 以 参 考 创 建 一 个 启 动 项 运 行 或 调 试 应 用 程 序 将 触 发 以 下 动 作:启 动 模 拟 器,如 果 他 还 没 有 开 始 运 行。编 译 工 程,如 果 在 上 次 编 译 的 基 础 上 修 改 过 代 码,将 重 新 编 译。在 模 拟 器 上 安 装 应 用 程 序。R un选 项,开 始 运 行 程 序。D ebug在 Wait for debugger模 式 下 启 动 程 序,然 后 打 开 调 试 窗 口 并