上述所有操作 , 都是通过调用 ptrace 方法完成的 , 只是传入不同的参数 , 执行不同的操作 ;
ptrace 函数原型 : ptrace 函数实际上是由一系列的函数组成 , 具体调用哪个函数 , 要根据第一个参数确定 ;
宿主应用 中 , 首先在 AndroidManifest.xml 中 , 定义了若干占坑的 “桩” 组件 , 这些组件的作用是为了欺骗 ActivityManagerService 准备的 , 如果给 AMS 传入没有在清单文件中注册过得组件 , 直接就报错了 ;...
在上一篇博客 【Android 插件化】插件化技术弊端 ( 恶意插件化程序的解决方向 | 常用的插件化虚拟引擎 ) 中 , 介绍了插件化的弊端 , DroidPlugin 和 VirtualApp 被用于制作恶意软件 , 黑客利用这两个插件化框架将 AP...
在 Android 中 , 如果要判定当前线程是否是主线程 , 可以使用如下方法进行判定 ;
在上一篇博客 【Binder 机制】Native 层 Binder 机制分析 ( service_manager.c | 开启 Binder | 注册 Binder 进程上下文 | 开启 Binder 循环 ) 中分析了 Binder Native 实现中的 service_manager.c 中的 main 函数的...
Init 进程 启动 Zygote , Zygote 启动 System Server 进程 ;
在上一篇博客 【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 一 ) 分析了从 ActivityThread 的 main() 函数启动 , ApplicationThread 绑定 , Application 创建 , 下面继续分析后续内容 ;...
在 Instrumentation 中 , 通过调用 ActivityManagerService ( AMS ) 的 startActivity 方法 ,
作者 | Wavell Watson 译者 | 明知山 策划 | 丁晓昀在三类云资源(计算、存储和网络)中,网络似乎最经得起云原生非功能性需求的考验。例如,计算弹性是通过虚拟机、容器和编配器合理分配的,并通过 CI/CD 管道进行管理。网络...