背景 abooster是20年的时候我给hago弄的构建加速插件,当时由于hago是海外项目,需要上架GP的,因此不能像国内那样搞插件化,加上hago整个项目的规模也十分之庞...
背景 abooster是20年的时候我给hago弄的构建加速插件,当时由于hago是海外项目,需要上架GP的,因此不能像国内那样搞插件化,加上hago整个项目的规模也十分之庞...
本篇章里分析的AGP源码都是基于3.4.2版本的,很老的版本,也没办法,因为公司里用的就是3.4.2. 。。 在上一篇《AGP资源编译过程分析一compile》文章里,我们已...
本篇章里分析的AGP源码都是基于3.4.2版本的,很老的版本,也没办法,因为公司里用的就是3.4.2. 。。 简介 在AGP里面,aapt(Android Asset Pac...
日常工作中有时候可能会遇到需要统计某个方法的使用地方,项目里有没有代码调用了某些违规函数,某类到底被哪些类给依赖了等等问题,这种需求通常会通过写python脚步去扫描整个项目...
相信有搞过Windows开发的都会跟我一样感慨吧,相比起Win32 Ring3的Inline hook Arm的Inline hook真的复杂太多了,为什么这么说呢,反汇编W...
本节开始我们来分析一下proguard里面我们最熟悉的功能:混淆 ,分析一下proguard是如何把类跟方法字段名固定下来,又是如何为没有被keep住的类跟方法字段创建出新的...
上一节我们分析了proguard是如何把项目里面代码的依赖关系给检索出来,有了依赖关系链之后就可以知道哪些代码是有用的,哪些是无用的,proguard会根据配置文件里的kee...
上一节我们从源码的角度出发分析了proguard是怎么把class字节码解析读取出来,并且通过LibraryClassPool跟ProgramClassPool两个池子把项目...
上一节我们分析了proguard的参数解析、配置获取、以及配置保存等等过程,本节我们继续分析proguard是如何读取class文件、解析class字节码以及怎么存储clas...
前段时间由于项目原因,需要对proguard做一些定制化工作,因此克隆了一份proguard源码下来对它进行了些研究跟改造。从本篇开始,我将会通过一个系列的文章,从源码出发,...
AGP并不负责kotlin的代码编译,工程项目里的kotlin代码是由KGP负责编译的,本文主要是分析一下KGP的代码编译部分逻辑。本文分析的KGP插件源码版本为1.3.72...
上篇文章简析了AGP插件的初始化过程,本篇将会讲解一下AGP的代码编译过程。 任务创建 上篇文章中我们曾经介绍过构建的核心任务都是在TaskManager中创建的,代码如下:...
18年的时候有研究过AGP,当时主要是分析它的增量编译过程,本想写几篇技术博客来记录下的,后来由于工作实在太忙没写下去,最近在开发一款构建加速插件,又研究了下KGP AGP,...
@FullStack 目前没有 我是直接把engine源码down了下来本地修改构建测试的 源码比较庞大 所以没有公开源码
flutter动态化研究之资源热修复关于flutter资源 关于flutter AssetManager flutter engine内部也有一个AssetManager,源码路径是flutter/assets...
关于flutter资源 关于flutter AssetManager flutter engine内部也有一个AssetManager,源码路径是flutter/assets...
前言:图像的变换处理离不开矩阵,在Android里面也一样,本文将从原理出发,介绍了Android里面 view的变换原理以及对应的相关API的使用,还有Android里面图...
前言:增量编译本质上需要解决两个问题,第一个是增删修改文件的检测,第二个是文件的依赖关系检索,其中增删修改文件的检测又是整个增量编译的基础,是最核心最关键的环节,本文将会给大...