一 个 AudioService.java 文 件 就 有 6000 行 代 码, 当 然 幸 运 的 时 候 你 可 能 直 接 看 到 问 题 所 在, 但 是 大 部 分 情 况 下 稍 微 复 杂 一 点 的 系 统 就 需 要 花 费 很 多 时 间 ; 那 么 上 层 AudioServ



Similar documents
何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

I

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

《C语言基础入门》课程教学大纲

修改版-操作手册.doc

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

Microsoft Word - 第3章.doc

Microsoft Word - 第7章 图表反转形态.doc

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

2006年顺德区高中阶段学校招生录取分数线

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05


第 一 部 分 MagiCAD for Revit 安 装 流 程

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

国债回购交易业务指引

Microsoft Word - 文件汇编.doc

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

登录、注册功能的测试用例设计.doc

年 第 期 % %! & % % % % % % &

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

世华财讯模拟操作手册

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

系统设计文档_样稿管理模块 V1.1_.doc

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

微软用户

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

一、资质申请

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

doc

!!!!!!!!!!

第 三 章 审 计 证 据 2

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

抗 日 战 争 研 究 年 第 期

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

第2章 数据类型、常量与变量

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

教师上报成绩流程图

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

云信Linux SSH认证代理用户手册

中 国 软 科 学 年 第 期!!!

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

深圳市新亚电子制程股份有限公司

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

 编号:

!!

<4D F736F F D C3E6CFF2B6D4CFF3A3A8B5DAC8FDD5C220C0E0CCD8D0D4A3A92E646F63>

白皮书

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

Microsoft Word - 资料分析练习题09.doc

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化? 五 如 何 向 教 师 发 送 通 知? 六

国家职业标准:网络课件设计师

际 联 考 的 非 美 术 类 本 科, 提 前 批 本 科 体 育 类 第 一 批 第 二 批 第 三 批 的 理 工 类 和 文 史 类 本 科 平 行 志 愿, 考 生 可 以 填 报 6 所 院 校 志 愿 符 合 贫 困 地 区 专 项 计 划 和 农 村 考 生 专 项 计 划 报 考

全国教师资格认定管理信息系统

Template BR_Rec_2005.dot

操作手册

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

Cybozu Garoon 3 管理员手册

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

上海证券交易所会议纪要

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

生产支援功能 使用说明书(IP-110 篇)

2016年南开大学MBA招生信息

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

光明乳业股份有限公司

上证指数

øÕªß∂À≤Ÿ◊˜ ÷≤·

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

·岗位设置管理流程

引言

2014年中央财经大学研究生招生录取工作简报

Microsoft Word - 第5章.doc

国际财务报告准则第13号——公允价值计量

超 级 玛 丽 JAVA 小 游 戏 测 试 报 告 1. 导 言 1.1 编 写 目 的 该 文 档 的 目 的 是 描 述 超 级 玛 丽 JAVA 小 游 戏 的 系 统 测 试 的 总 结 报 告, 其 主 要 内 容 包 括 : 系 统 环 境 的 介 绍 功 能 的 实 现 的 测 试

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

环信移动客服v4.1

目 录 第 一 章 行 政 办 公 介 绍 行 政 办 公 的 作 用... 4 第 二 章 行 政 办 公 使 用 说 明 会 议 管 理 会 议 管 理 概 述 如 何 设 置 会 议 室 如


<4D F736F F D20B7CAB3C7CAD0D0C5CFA2B9ABBFAAC4BFC2BCB9DCC0EDCFB5CDB3C5E0D1B5BDCCB3CC2E646F63>

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

Operations Review September 14, 2006

Transcription:

体 系 结 构 导 航 软 件 使 用 实 例 1 JNI 调 用 关 系 Android 系 统 以 Java 语 言 提 供 接 口, 但 大 多 数 功 能 都 使 用 C/C++ 来 实 现, 或 者 二 者 配 合 实 现,JNI 是 上 下 层 的 桥 梁,JNI 调 用 过 程 的 分 析 是 系 统 分 析 中 不 可 缺 少 的 一 环 ; 系 统 中 有 些 接 口 直 接 通 过 JNI 到 下 层 进 行 功 能 实 现, 有 些 接 口 则 通 过 系 统 服 务 来 实 现 用 户 需 求, 而 系 统 服 务 往 往 也 是 通 过 JNI 在 下 层 实 现 具 体 功 能, 在 系 统 分 析 时, 我 们 往 往 希 望 能 清 晰 的 看 到 系 统 进 行 JNI 调 用 的 层 面, 以 及 JNI 调 用 的 具 体 代 码 位 置 因 此, 体 系 结 构 导 航 软 件 补 充 了 JNI 调 用 关 系 数 据, 在 分 析 过 程 中 可 以 清 楚 定 位 JNI 层 的 调 用, 下 面 以 两 个 实 例 来 分 析 导 航 软 件 对 系 统 分 析 的 辅 助 作 用 1.1 Android API 实 现 的 辅 助 分 析 Android 官 方 公 布 的 API 是 应 用 开 发 的 规 范 接 口, 在 进 行 系 统 优 化 或 者 移 植 过 程 中, 往 往 会 以 系 统 API 的 成 功 运 行 为 阶 段 目 标, 一 个 API 类 基 本 上 包 含 了 一 个 较 为 完 善 的 功 能, 可 以 很 好 地 作 为 分 析 牵 引 者 或 验 证 目 标, 可 以 从 接 口 层 出 发, 经 服 务 层 JNI 本 地 库 HAL 最 终 到 内 核 层, 进 行 一 整 套 的 分 析, 从 而 更 加 完 整 更 加 系 统 的 分 析 验 证 某 一 项 功 能 或 服 务 在 出 现 问 题 时, 配 合 体 系 结 构 导 航 软 件 可 以 很 好 地 进 行 调 用 分 析 和 问 题 排 查 以 音 频 系 统 为 例, 官 方 提 供 的 API 类 包 括 AudioTrack 和 AudioRecord, 二 者 分 别 用 于 播 放 和 录 音, 当 然 可 以 播 放 音 频 的 API 类 还 包 括 MediaPlayer, 不 过 它 包 含 的 内 容 较 为 宽 泛, 还 包 括 音 视 频 解 码 等 内 容 在 移 植 音 频 系 统 时, 我 们 首 先 会 对 Android 音 频 系 统 进 行 简 单 分 析 了 解,Android 的 音 频 系 统 分 为 上 层 服 务 和 下 层 服 务, 上 层 服 务 主 要 是 AudioService, 用 于 控 制 音 量, 音 频 设 备 插 拔 处 理 等 ; 下 层 服 务 主 要 是 AudioFlinger 和 AudioPolicyService, 前 者 和 底 层 设 备 打 交 道, 通 过 HAL 层 访 问 底 层 音 频 设 备,AudioPolicyService 则 是 进 行 策 略 控 制, 例 如 应 该 从 听 筒 耳 机 接 口 还 是 蓝 牙 设 备 进 行 输 出 在 完 成 三 个 服 务 的 移 植 启 动 后, 为 测 试 移 植 功 能 是 否 可 用, 以 AudioTrack 接 口 为 例 播 放 wav 音 频 文 件 此 时 会 发 生 各 种 各 样 的 问 题, 最 直 接 的 问 题 : 播 放 没 有 任 何 声 音 这 个 问 题 可 能 由 很 多 原 因 引 起, 首 先 想 到 的 就 是 底 层 设 备 没 有 接 受 到 数 据, 如 果 没 有 收 到 数 据, 那 么 到 底 是 哪 一 部 分 出 现 了 问 题 此 时 我 们 不 可 能 直 接 扎 入 代 码 进 行 分 析, 因 为 那 样 很 可 能 需 要 做 很 多 无 用 功, 单 单 上 层

一 个 AudioService.java 文 件 就 有 6000 行 代 码, 当 然 幸 运 的 时 候 你 可 能 直 接 看 到 问 题 所 在, 但 是 大 部 分 情 况 下 稍 微 复 杂 一 点 的 系 统 就 需 要 花 费 很 多 时 间 ; 那 么 上 层 AudioService 服 务 在 数 据 传 输 时 是 否 产 生 了 影 响 呢? 此 时, 通 过 体 系 结 构 导 航 软 件 进 行 初 步 分 析 梳 理, 就 可 以 对 某 些 问 题 进 行 排 查 确 认 首 先 在 体 系 结 构 导 航 软 件 中 找 到 AudioTrack 这 个 API 类, 选 择 版 本 5.1, 主 页 上 Frameworks 层 的 API 层 中 很 明 显 有 Media_API 模 块,AudioTrack 包 前 缀 为 android.media, 进 入 该 模 块 后 可 以 看 到 包 含 的 所 有 文 件, 包 括 AudioTrack.java, 如 下 : (1) 首 先 右 键 查 看 AudioTrack 这 个 文 件 的 调 用 关 系

很 明 显 看 到 有 一 个 JNI 调 用, 而 且 这 个 JNI 调 用 的 名 字 专 门 针 对 AudioTrack, 那 么 一 般 这 种 情 况 下, 该 类 的 主 要 实 现 是 直 接 通 过 JNI 实 现 的, 此 时 需 要 通 过 AudioTrack.java 包 含 的 接 口 进 行 进 一 步 确 认 (2) 双 击 进 入 AudioTrack.java 文 件, 可 以 看 到 它 只 有 一 个 AudioTrack 类, 进 入 这 个 类 可 以 看 到 它 包 含 的 成 员 函 数 成 员 变 量 和 内 部 类, 如 下 所 示 : 这 里 面 包 含 很 多 函 数, 但 是 通 过 查 找, 可 以 看 到 在 进 行 接 口 测 试 时 使 用 的 接 口,play write 和 stop 函 数, 右 键 查 看 其 各 自 调 用 关 系, 如 下 所 示 : 很 明 显 的 看 到 了 native_start 和 native_stop 函 数, 右 键 分 别 查 看 这 两 个 函 数 的 调 用 关

系, 结 果 如 下 : 相 信 看 到 这 里, 就 能 够 很 清 楚 的 知 道, 我 们 在 调 用 接 口 AudioTrack 的 时 候, 其 实 是 直 接 通 过 JNI 和 下 层 交 互 的, 音 频 数 据 的 传 输 并 没 有 经 过 上 层 的 AudioService 服 务, 也 就 是 说 音 量 设 置 和 数 据 传 输 是 分 开 进 行 的 此 时 我 们 可 以 先 暂 时 不 去 考 虑 分 析 上 层 的 AudioService.java 文 件, 而 是 可 以 直 接 转 入 下 层 的 服 务 进 行 分 析 1.2 特 定 服 务 执 行 过 程 的 辅 助 分 析 Android 系 统 提 供 了 各 类 服 务, 在 优 化 或 移 植 过 程 中, 往 往 会 针 对 某 个 关 注 服 务 进 行 重 点 分 析, 梳 理 其 代 码 逻 辑, 确 定 需 要 优 化 或 者 适 配 的 点 上 层 Java 服 务 往 往 都 是 通 过 JNI 在 下 层 实 现 具 体 功 能, 配 合 导 航 软 件 可 以 很 方 面 的 获 知 其 代 码 的 调 用 过 程, 配 合 源 码 联 动 可 以 直 接 查 看 函 数 实 现 内 容 例 如, 以 输 入 系 统 为 例, 输 入 系 统 肯 定 是 要 和 底 层 鼠 标 键 盘 设 备 打 交 道, 如 果 要 对 Android 输 入 系 统 进 行 修 改, 改 变 其 输 入 事 件 的 来 源, 那 么 就 需 要 知 道, 输 入 系 统 是 在 哪 里 实 现 和 底 层 设 备 的 交 互 在 Android 启 动 服 务 中 可 以 很 明 显 的 看 到 inputmanagerservice 这 个 服 务, 但 是 它 是 在 java 层 启 动 的 服 务, 那 么 很 容 易 就 猜 想 inputmanagerservice 是 通 过 JNI 到 Native 层 进 行 设 备 访 问, 或 者 是 通 过 访 问 Native 层 的 某 个 服 务 获 取 数 据? 此 时 可 以 通 过 体 系 结 构 导 航 软 件, 对 猜 想 进 行 快 速 确 认, 并 配 合 源 码 查 看 功 能, 进 行 内 容 分 析 (1) 该 服 务 在 SystemServer.java 中 启 动, 调 用 其 构 造 函 数 进 行 服 务 添 加 后, 调 用 start 函 数 进 行 启 动 在 主 页 面 中 查 看 Frameworks 层 ->Service->Core_Service, 进 入 内 部 模 块 services, 可 以 看 到 该 模 块 下 所 有 的 文 件, 这 些 都 是 系 统 Java 层 的 主 要 服 务 类, 通 过 下 拉 框 选 择 目 录 input, 可 以 很 方 面 的 按 照 系 统 目 录 选 择 要 关 注 的 内 容

右 键 查 看 InputManagerService.java 的 调 用 关 系, 可 以 很 清 楚 的 看 到 它 在 系 统 各 个 层 次 中 的 调 用 关 系 包 括 JNI 调 用 ( 服 务 的 JNI 调 用 封 装 于 libandroid_servers 模 块 中, 考 虑 到 其 不 属 于 系 统 接 口 的 JNI 层, 应 该 更 倾 向 于 服 务 的 支 持 内 容, 因 此 现 阶 段 被 划 分 到 了 Server_support 模 块, 属 于 Support 层 ) 双 击 进 入 InputManagerService.java 内 部, 包 含 一 个 类 InputManagerService, 进 入 该 类 内 部, 就 可 以 看 到 所 有 包 含 的 函 数 和 变 量 以 服 务 开 始 函 数 start 为 分 析 目 标, 寻 找 到 该 函 数, 右 键 查 看 其 调 用 关 系

可 以 大 体 知 道 start 函 数 中 主 要 做 了 什 么 操 作, 如 果 熟 悉 导 航 软 件 风 格 和 系 统 源 码 的 话, 就 可 以 知 道 函 数 startotherservices 是 SystemServer 用 来 添 加 服 务 的, 函 数 i 肯 定 是 log 的 调 用, 而 nativestart 显 然 就 是 真 正 的 下 层 构 造 实 现 的 调 用 接 口, 右 键 查 看 其 调 用 关 系, 可 以 查 看 到 对 应 的 JNI 接 口, 借 助 源 码 联 动 平 台 可 以 查 看 源 码 实 现, 继 续 往 下 分 析 至 此, 我 们 可 以 肯 定 InputManagerService 在 启 动 函 数 start 中, 基 本 没 有 做 太 多 操 作, 很 快 就 通 过 JNI 调 用 转 入 下 层 实 现 2 版 本 差 异 性 比 对 Android 系 统 的 版 本 更 新 比 较 快, 在 做 系 统 优 化 或 者 移 植 的 时 候, 往 往 需 要 针 对 新 版 本 的 出 现 进 行 相 应 的 修 改, 如 果 能 很 快 地 确 定 系 统 关 注 点 是 否 有 修 改 大 体 有 哪 些 修 改, 对 于 升 级 操 作 就 有 非 常 大 的 帮 助, 体 系 结 构 导 航 软 件 实 现 了 4.0.4->5.1,5.1->6.0, 5.1->x865.1 的 源 码 版 本 差 异 性 比 对, 对 于 关 注 模 块 的 跨 版 本 分 析 有 很 好 的 导 向 作 用 以 图 形 部 分 为 例, 图 形 子 系 统 是 一 个 比 较 独 立 的 子 系 统, 从 Frameworks 层 到 HAL 层, 在 各 个 层 都 有 相 关 实 现, 贯 穿 前 后 在 对 图 形 系 统 进 行 跨 版 本 的 优 化 或 移 植 时, 就 需 要 知 道 各 个 层 在 两 个 版 本 之 间 的 具 体 变 化 点, 同 时 也 需 要 知 道 多 个 版 本 的 具 体 差 异 变 化, 以 很 好 的 对 多 版 本 适 配 进 行 规 划

例 如 :1 在 进 行 图 形 子 系 统 移 植 的 版 本 升 级 时, 应 该 从 哪 个 地 方 入 手, 应 该 关 注 于 哪 个 点?2 为 了 适 应 更 多 的 版 本, 在 移 植 时 应 该 在 哪 些 地 方 进 行 更 多 的 分 析, 以 减 少 后 续 升 级 的 工 作 量? 2.1 两 个 版 本 的 差 异 性 比 对 辅 助 分 析 (1)Framework 层 的 比 对 : 图 形 部 分 的 Frameworks 层 最 重 要 的 部 分 就 是 SurfaceFlinger 服 务 和 相 关 的 图 形 库, 因 其 不 对 外 提 供 服 务 接 口, 主 要 用 于 内 部 调 用, 属 于 支 撑 内 容, 因 此 暂 时 划 分 在 Support 层 以 4.0.4 到 5.1 的 图 形 分 析 为 例, 这 两 个 版 本 的 变 化 比 较 大, 以 UI_Support 模 块 为 关 注 点, 查 看 SurfaceFlinger 的 变 化, 如 下 所 示 : 可 以 看 出 其 变 化 量 是 非 常 巨 大 的, 双 击 进 入 该 模 块, 查 看 具 体 的 文 件 变 化 情 况, 结 果 如 下, 可 以 看 到 5.1 新 增 了 很 多 文 件, 当 然 也 删 除 了 很 多 4.0.4 的 文 件 ( 页 面 上 暂 未 显 示 ) 至 此, 可 以 回 答 开 头 的 第 一 个 问 题, 在 4.0.4 到 5.1 的 SurfaceFlinger 移 植 或 者 优 化

升 级 时, 因 其 结 构 变 化 巨 大, 需 要 对 整 个 代 码 逻 辑 进 行 重 新 梳 理 (2)HAL 层 的 比 对 : 以 5.1 到 x865.1 的 图 形 分 析 为 例, 按 照 版 本 比 对 操 作, 最 终 可 以 得 到 主 模 块 的 差 异 性, 其 中 可 以 很 明 显 的 看 到,HAL 层 有 新 增 模 块 drm_gralloc 该 模 块 是 图 形 部 分 的 HAL 层 实 现, 在 进 行 图 形 分 析 时, 可 以 很 清 楚 的 知 道 X865.1 在 HAL 层 做 了 改 变, 需 要 重 点 关 注 ; 通 过 进 一 步 详 细 分 析 可 以 得 知 :Android5.1 使 用 的 是 gralloc.default.so, 路 径 为 hardware/libhardware/modules/gralloc/, 而 AndroidX865.1 虽 然 也 保 留 了 该 模 块, 但 是 实 际 使 用 的 galloc 是 gralloc.drm.so, 路 径 为 hardware/drm_gralloc/ 至 此, 可 以 回 答 开 头 的 第 一 个 问 题, 在 5.1 到 x865.1 的 HAL 层 移 植 或 者 优 化 升 级 时, 应 该 更 加 关 注 新 增 模 块 drm_gralloc 的 分 析 2.2 多 个 版 本 的 差 异 性 比 对 辅 助 分 析 针 对 UI_Support 模 块 4.0.4->5.1,5.1->6.0 和 5.1->x865.1 的 比 对 结 果 依 次 如 下 :

可 见, 除 了 4.0.4->5.1 的 变 化 巨 大 外,5.1->6.0 和 5.1->x865.1 的 变 化 不 是 很 大, 还 是 针 对 surfaceflinger, 进 入 模 块 内 部 查 看 具 体 文 件 变 化,4.0.4->5.1 的 变 化 在 前 面 已 经 做 了 展 示, 后 面 两 个 版 本 的 具 体 变 化 如 下 : 上 面 两 张 图 在 这 里 没 有 清 晰 的 展 示 具 体 的 变 化, 从 上 图 中 可 以 很 清 楚 的 知 道, 哪 些 文 件 发 生 了 变 化, 总 体 来 说 后 续 版 本 的 变 化 比 较 小 ; 在 移 植 或 优 化 时 一 定 会 进 行 一 些 代 码 修 改, 而 如 果 修 改 的 地 方 在 多 个 版 本 中 常 常 发 生 变 化, 那 么 我 们 应 该 进 行 多 版 本 重 点 分 析, 合 理 设 计 修 改 逻 辑, 或 者 在 逻 辑 允 许 的 情 况 下 尽 量 减 少 这 些 位 置 的 修 改, 以 更 好 的 适 应 各 个 版 本, 减 少 在 版 本 升 级 中 的 工 作 至 此, 针 对 开 头 的 第 二 个 问 题, 给 出 了 较 为 明 确 的 方 向