经过上一节的介绍,你已经明白在Java层Binder的架构中,Bp端可以通过BinderProxy的transact()方法与Bn端发送请求,而Bn端通过继承Binder类重写onTransact()接收并处理来自Bp端的请求。这个结构非常清晰而且简单,
这个例子源自ActivityManagerService,我们试图通过它揭示Java层Binder的工作原理。先来描述一下该例子的分析步骤:首先分析AMS如何将自己注册到ServiceManager。然后分析AMS如何响应客户端的Binder调用请求。本
虽然Java层Binder系统是Native层Binder系统的一个镜像,但这个镜像终归还需借助Native层Binder系统来开展工作,即镜像和Native层Binder有着千丝万缕的关系,一定要在Java层Binder正式工作之前建立这种关系。下面
2 2Java层中的Binder分析2 2 1Binder架构总览如果读者读过卷I的第6章,相信就不会对Binder架构中代表Client的Bp端及代表Server的Bn端感到陌生。Java层中Binder实际上也是一个C S架构,而且其在类的命名上尽量保持
由于本书所介绍的内容是以Java层的系统服务为主,因此Binder相关的应用在本书中比比皆是。而MessageQueue作为Android中重要的任务调度工具,它的使用也是随处可见。所以本书有必要对这两个工具有所介绍。根据邓凡
本章主要内容:介绍Binder系统的Java层框架介绍MessageQueue本章所涉及的源代码文件名及位置:IBinder javaframeworks base core java android os IBinder javaBinder javaframeworks base core java android os
本章介绍了获取Android源代码、使用IDE进行源代码的阅读以及调试的方法。接下来让我们开始Android源代码的研究之旅吧。
下面介绍使用gdb调试C C++代码的步骤。首先通过adb shell ps获取需要进行调试的进程号,比如795。然后通过执行adb shell进入手机端的shell。输入gdbserver :5039 --attach 795并执行。其中5039是端口号,7
1 4调试Android源代码调试是分析问题与印证对代码的理解的最有效手段,对Android这种复杂而庞大的系统来说尤为如此。Android的源代码主要由Java代码以及C C++代码构成,因此调试Android源代码需要从Java的调试以
相对于Eclipse,SourceInsight更适合用来阅读Android中的C C++代码。读者可以从其官方网站上下载并获得30天的免费试用权。将Android源代码导入SourceInsight非常简单。点击主菜单上的Project→New Project,
首先需要将development ide eclipse classpath文件复制到源代码的根目录下。这个文件将在导入代码时告诉Eclipse在源代码的哪些文件夹中保存了Java代码,其内容片段如下:[ classpath]<classpath>
尽管Android的源代码并不依赖IDE进行编译,但是使用IDE进行代码的浏览、查找与跳转无疑是最方便的选择。本书所涉及的Android源代码主要是由Java语言以及C C++语言编写的。对Java代码来说,Eclipse是最佳选择,而
在将下载到本地的代码添加到Eclipse或其他IDE之前,最好先进行一次完整的Android编译。这是因为某些代码文件是在编译过程中由aidl文件或资源文件所生成的,只有经过完整编译之后才能保证导入IDE中的Android源代码
在深入研究Android之前,首先必须获得一套Android的源代码。Google提供官方Android源代码的获取方法如下:https: source android com source downloading html这个页面介绍了使用repo脚本进行Android源码的下载
本章的主要内容:介绍获取Android源代码的方法介绍如何将Android源代码导入IDE中以方便阅读代码介绍如何对Android的Java、C C++源代码进行调试
推荐序前 言第1章 开发环境部署11 1获取Android源代码11 2Android的编译31 3在IDE中导入Android源代码41 3 1将Android源代码导入Eclipse41 3 2将Android源代码导入SourceInsight51 4调试Android源代码61 4 1使
本书的主要内容及特色本书是深入理解Android系列的第三本,也是完结篇。按照深入理解Android系列图书的路线图,本书所关注的重点是Android中有关用户交互的Framework的知识。总体来说,本书所涵盖的内容分为两个
回顾今天是一个值得高兴的日子。历经两年多的艰苦奋斗,张大伟同学的这本著作,同时也是深入理解Android系列三卷中的最后一卷终于完成了。从2011年我和华章公司的杨福川编辑一起开创这一迄今为止国内Android技术
本书在逻辑上分为4个部分Part 01(第1-2章):这是本书的基础部分,首先介绍了Android源码环境的搭建、编译和调试;然后讲解了Android进程间通信与任务调度的工具Binder与MessageQueue 这两项基础工作是深入研究
在本章前半部分,回顾了关系数据库系统背后的一些基本概念。●关系(表)、叉积(连接)、投影和约束●SQL语言:数据定义、操作和查询●事务、数据类型和引用完整性这些概念中的许多是有经验的企业系统开发人员所熟悉