前面分析了VirtualApk支持插件中的4大组件运行的原理。本文就来讨论一下如何解决插件资源id和宿主资源id冲突的问题。 本文会涉及到Andoird资源的编译和打包原理。因此对这方面的知识最好有一定的了解。可以参考老…
分类:移动开发
Glide缓存机制
前言 本文基于Glide v3.7.0源码分析,Glide v4.0大致流程和v3.7.0差不多,在一些技术细节上有修改。主要内容有: 内存缓存读取 内存缓存写入 缓存引用计数 硬盘缓存读取 硬盘缓存写入 内存缓存读取 …
大厂Android面试题汇总(一)JAVA基础
java中==和equals和hashCode的区别 基本数据类型:“==”比较的是其值 类:“==”比较数据内存地址是否相同 “equals”是Object方法,在子类未重写方法时 public boolean equ…
面试经历和面试题1
今天去朝阳门附近一家叫“阳光互信”的公司面试了,这是阳光保险下面的一家子公司。进到他们工作区,感觉氛围和环境还不错,所以我当时就有不好的预感,他妈的我又要打酱油了。最近面试都面出心理阴影了,感觉稍微好一点的公司我都无缘,…
Android源码解析 --- LayoutParams以及ViewTree的生成
在分析ViewTree的生成之前,我们先来看下LayoutParams。LayoutParams翻译为“布局参数”,一般情况下,我们在代码中动态设置View的宽高或者Margin的时候会用到它,如下所示: TextVie…
Kotlin for android学习二:属性(property)与域(field)
前言 kotlin官网 (中文版)和kotlin教程学习教程的笔记。 Kotlin中的属性声明必须要有初始化的值 1. get与set var count: Int? = 0 get set val isEmpty: B…
[Espresso 4 Android Doc] 2. Espresso 设置说明
声明:本系列文章是对 Android Testing Support Library官方文档的翻译,水平有限,欢迎批评指正。 1. Espresso 概览 2. Espresso 设置说明 3. Espresso 基础 …
ConstraintLayout之ConstraintSet
自从用了ConstraintLayout,发现布局写法又升华了,嵌套减少了,层次更清晰了。 在ConstraintLayout出来之前,就是在LinearLayout、RelativeLayout时代,如果想要在代码中动…
关于安卓逆向你需要知道的工具及网站
把最近接触到的安卓逆向相关的工具和网站总结下,供需要者拿去使用,还有不全和遗漏后续会不断完善。 工具篇章 模拟器(动态调试需要用真机) 安卓原生模拟器:AS自带的 夜神:今天开始尝试这个模拟器,发现在ida挂载进程时出现…
课程7.0之Java当中的异常
转发请注明出处: 安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是异常 异常的分类 try…catch…finally结构的使用方法 throw的作用 t…
android https双向验证 前言及总结(重要)
前言: 一天工作中,boss丢过来一个p12文件让做https的双向认证,搞得我一脸蒙逼!没办法一顿百度查看各路博客文档,才发现根本没有直接使用p12格式的文件的文档!又厚着脸皮去问了一下boss,才知道给我的就只有一个…
android hook之注入安卓进程,并hook java世界的方法
本文是对看雪上一篇文章的学习笔记。记录自己的一些实践和遇到的问题。 原文地址:注入安卓进程,并hook java世界的方法. hook流程: 通过系统ptrace调用可以控制被traced进程的寄存器和程序映象。 int…