一、Android源码下载 上一次简单介绍了Android系统的层次结构,这次开始动真格了——下载源码和分析源码! 那么,Android的源码从哪下?当然是谷歌官网,下载方法官网也讲得很详细,但是奈何中国的墙比较厚,所以上面的办法是没用的,当然,有些是有用的,地址:http://source.android.com/source/downloading.html 谷歌官网没办法下,幸好还有一些国内网站,废话不多说,直接开始步骤: 工具和环境:VM虚拟机+Ubantu14系统 第一步:Ubantu里面需要有git工具…

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

Android HttpURLConnection源码分析 之前写过HttpURLConnection与HttpClient的区别及选择。后来又分析了Volley的源码。 最近又遇到了问题,想在Volley中针对HttpURLConnection添加连接池的功能,开始有点懵了,不知道HttpURLConnection要怎么加连接池, 虽然感觉这是没必要的,但是心底确拿不出依据。所以研究下HttpURLConnection的源码进行分析。 在使用的时候都是通过URL.openConnection()来获取HttpUR…

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

正式开始之前的准备工作:            之前也写过一篇《android事件拦截处理机制详解》的博客,通过博客的名字也可以知道那篇博客只是分析了android控件View对事件的拦截和处理,简单的总结如下:            1)父View优先拦截当前事件,拦截不成功就让子View对当前事件进行拦截。 &nb…

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

最近发现了一个非常好的开源项目,基本实现了一个 Android 上的沙箱环境,不过应用场景最多的还是应用双开。 VA github: https://github.com/asLody/VirtualApp VA 的源码注释: https://github.com/ganyao114/VA_Doc 第一章主要是分析一下项目的整体结构。 包结构 android.content 主要是 PackageParser,该类型覆盖了系统的隐藏类 android.content.pm.PackageParser com.lod…

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

上一章:Android 双开沙箱 VirtualApp 源码分析(一) VA 初始化 先看一下代码: VirtualCore.startup public void startup(Context context) throws Throwable { if (!isStartUp) { // 确保 MainThread if (Looper.myLooper() != Looper.getMainLooper()) { throw new IllegalStateException("VirtualCore.st…

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

上一章:Android 双开沙箱 VirtualApp 源码分析(二) 在这之前,我们还是要先了解一下 VA Client Framework 和 VAService 之间的通讯方式 VAService 与通讯 VAService 首先,VAService 是指 VA 仿造 Android 原生 framework 层 Service 实现的一套副本,举例有 VActivityManagerService,它和系统 AMS 一样,只不过他管理的是 VA 内部 Client App 的组件会话。 VAService …

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

上一章:Android 双开沙箱 VirtualApp 源码分析(三)App 启动 原生 Service 创建过程 首先有必要了解一下原生 framework 对 Service 的创建,因为在 VA 中启动 Service 和 Activity 有很大的区别。 首先入口 ContextWrapper.startService(): @Override public ComponentName startService(Intent service) { return mBase.startService(serv…

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

上一章:Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service 方案猜测 同 Activity 一样,Client App 在 Menifest 中注册的静态广播外部 AMS 是无法知晓的,经过前几章的分析,相信大家已经是老司机了,我们可以先尝试提出自己的观点。 1. 和 Activity 一样使用 Stub 组件占坑?仔细想一想是无法实现的,因为你无法预先确定 Client App 中广播的 Intent Filter。 2. 使用动态注册即 context.registerBro…

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

腾讯性能监控框架Matrix源码分析之第一篇 概述 前几天腾讯将一款Android应用性能监控的框架matrix开源了,源码地址在https://github.com/Tencent/matrix,作者是微信终端团队。matrix到底是什么?据官方说法如下: Matrix 是一款微信研发并日常使用的 APM(Application Performance Manage),当前主要运行在 Android 平台上。 Matrix 的目标是建立统一的应用性能接入框架,通过各种性能监控方案,对性能监控项的异常数据进行采集和…

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

一.基本的知识点: #线程:  什么是线程:   线程的几种状态       实现方式和区别: ##什么是线程   什么是进程    回答:线程就是一个程序的分割,一个程序在开始执行到结束执行的过程分割出来执行单元就是线程吧!   进程:一个qq就是一个进程,一个360就是一个进程, ##线程的几种状态  使…

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