前言

这是一本什么书

如果只把本书当作纯粹介绍Android插件化技术的书那就错了。本书在研究Android插件化之余,还详细介绍了Android系统的底层知识,包括Binder和AIDL的原理、四大组件的原理、App的安装和启动流程、Context和ClassLoader的家族史。没有罗列大量的Android系统中的源码,而是以一张张UML图把这些知识串起来。

本书详细介绍了Android中的资源机制,包括aapt命令的原理、resource文件的组成以及public.xml的使用方式,顺带还提及了如何自定义一个Gradle插件化。

此外,本书还介绍了so的加载原理,尤其是动态加载so的技术,可以帮助App进行瘦身;探讨了HTML5降级技术,可以实现任何一个原生页面和HTML5页面的互换;介绍了反射技术,以及jOOR这个有趣的开源框架;介绍了Android中的动态代理技术Proxy. newProxyInstance方法。

如果读者能坚持把这本书从头到尾读完,那么不仅掌握了插件化技术,而且也把上述所有这些知识点全都系统地学习了一遍。也许Android插件化会随着Google的限制而有所变化甚至消亡,但我在本书中介绍的其他知识,仍然是大有用武之处的。