
Android插件化开发
文章平均质量分 90
Android插件化开发是本人工作业余自学的,参考书籍:包建强的《Android插件开发》。 最后的结果不是单单为了学会这门技术,而是这门技术有哪些知识点组成,是否学会了这些知识点,注重学习的过程!附上我喜欢的一个词:厚积薄发。
粗鲁先生
基础不牢,地动山摇!
展开
-
Android 插件化开发——宿主APP加载APK插件
本篇博客说一下我们的宿主APP怎样加载别的APK文件。首先需要说一些知识点,我们的Java文件要想在Android环境运行,需要将.java文件通过转为class文件,然后为了能在DVM上面运行,再转为dex文件。同理反过来,我们在代码中要操作的基本都是class文件,但是class文件怎么来呢? 从DexClassLoader加载获取。DexClassLoader和PathClassLoad...原创 2019-08-22 09:06:50 · 2527 阅读 · 0 评论 -
Android 插件化开发——启动没有在ActivityManifest中声明的Activity(二)
要解决这个问题,首先回顾一下启动一个新的Activity的流程:要启动ActivityB,将要启动的ActivityB信息告诉AMS;AMS收到信息后,记录下ActivityB的相关信息,同时检查Manifest中是否已经注册了ActivityB,如果一切正常,则回传消息给ActivityThread:我接收到了!你可以paused了!ActivityA进入Paused状态,再告诉AMS:...原创 2019-07-27 12:07:48 · 1014 阅读 · 0 评论 -
Android 插件化开发——对startActivity方法进行hook(一)
本篇博客主要讲述一下对startActivity进行hook,对于Android开发来说,跳转一个新的Activity页面,最常见的无非两种了,方法一:Intent intent = new Intent(MainActivity.this, NewActivity.class);startActivity(intent);方法二:Intent intent = new Intent(...原创 2019-07-20 13:58:33 · 723 阅读 · 1 评论 -
Android 插件化开发——基础底层知识(代理模式)
今天周六,接着自我学习插件化,今天学习代理模式,温习一下上一篇博客Android 插件化开发——基础底层知识(反射)关于代理模式,是众多设计模式中的一种,我想说在学习该知识点之前,也是云里雾里,只知道有这个东西,但是具体写代码就GG了,其实Android系统源码里就很多代理模式。为什么需要代理模式?代理类在客户端和目标端起到中介作用,这样可以保护目标端,同时也能够给客户端提供相应的服...原创 2019-06-22 12:23:21 · 537 阅读 · 0 评论 -
Android 插件化开发——基础底层知识(反射)
继续我们的底层知识学习,为后面的插件化开发作准备。上一篇:Android 插件化开发——基础底层知识(Service)本篇博客学习反射,其实说到反射,正常开发用不到,所以之前也不太会,不,是不会。如果不是为了学习了解插件化,真的还是不会主动去学习反射。反射关于反射,我们需要掌握以下几点:获得一个类获得类对象获得静态函数获得非静态函数获得类非静态成员变量并修改获得类的静态...原创 2019-06-20 22:32:23 · 391 阅读 · 0 评论 -
Android 插件化开发——基础底层知识(Service)
上一篇我们讲了Context和Activity的相关知识,Android 插件化开发——基础底层知识(Context家族史,Activity启动流程)本篇我们讲述Service的工作流程以及BroadcastReceiver工作流程关于Service的创建启动流程,其实和Activity的创建启动流程是相似的。都是和AMS交互,通信介质是:BinderService工作流程关于S...原创 2019-06-17 22:15:56 · 394 阅读 · 0 评论 -
Android 插件化开发——基础底层知识(Binder,AIDL)
最近在学习Android插件化开发,其实最早最插件化开发的理解就是:比组件化开发高一级。抱着提高能力的态度,买了本插件化开发书《Android插件化开发指南》,接下来的博客都将是Android插件化开发的相关知识。通过这几天的学习和查找资料,慢慢的对插件化发生了改变,其实最早插件化做的热修复比较多,也就是线上修复BUG一类的,后来出现了RN以及热修复框架,特别是RN的跨平台。好像AndroidP...原创 2019-06-14 22:02:00 · 698 阅读 · 0 评论 -
Android 插件化开发——基础底层知识(Context家族史,Activity启动流程)
通过上一篇Binder以及AIDL的学习,博客最后写了实际上Activity与底层通信模式可以看成是AIDL。不了解Binder以及AIDL的,移步:Android 插件化开发——基础底层知识(Binder,AIDL)这篇博客接着为插件化开发作准备,讲述一下Context家族史以及Activity启动流程Context家族史关于Context,相信并不陌生,但是估计很多初学者都不...原创 2019-06-16 11:13:44 · 512 阅读 · 0 评论