一、背景 这个选题很大,但并不是一开始就有这么高大上的追求。最初之时,只是源于对Xposed的好奇。Xposed几乎是定制ROM的神器软件技术架构或者说方法了。它到底是怎么实现呢?我本意就是想搞明白Xposed的实现原理,但随着代码研究的深入,我发现如果不了解虚拟机的实现,而仅简单停留在Xposed的调用流程之上,那真是对Xposed最大的不敬了。另外,歪果仁为什么能写出Xposed?Android上的Java虚拟机对他们来说应该也是相对陌生的,何以他们能做而我们没有人搞出这样的东西? 所以,在研究Xposed之后…

2021年5月1日 0条评论 5点热度 阅读全文

闭包Java中的闭包 What 简单理解 WHY HOW Java中的闭包 内部类 局部内部类 匿名内部类 闭包(Java中的闭包): What 闭包是指可以包含自由(未绑定到特定对象)变量的代码块;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。 —《百度百科》 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量。 – <> 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。– < 简单理解:…

2021年1月16日 0条评论 22点热度 阅读全文

由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第6章 深入理解ActivityManagerService 本章主要内容: ·  详细分析ActivityManagerService 本章所涉及的源代码文件名及位置: ·  SystemServer.java frameworks/base/services/java/com/android…

2021年1月16日 0条评论 18点热度 阅读全文

版权声明:本文为博主原创文章,未经博主允许不得转载。 Android没有对外公开挂断电话的API,如果需要挂断电话,必须使用AIDL与电话管理服务进行通信,并调用服务中的API实现结束通话 为了调用远程AIDL Service,需要将Android源码中如下两个文件复制到项目的相应位置 com.android.internal.telephony 包下的ITelephony.aidl android.telephony 包下的NeighboringCellInfo.aidl AndroidManifest.xml …

2021年1月15日 0条评论 19点热度 阅读全文