android项目开发代码 又一开源项目爆火于GitHub

前言

相信大家都知道安卓应用开发的大量难题,其实最后都需要插件技术去解决。

现今插件技术的使用非常普遍,比如微信、QQ、淘宝、天猫、空间、携程、大众点评、手机管家等等这些大家在熟悉不过的应用都在使用。

插件技术可以给项目开发带来巨大的好处,比如:并行高效开发、模块解耦、解除单个dex函数不能超过65535的限制、动态更新升级、按需加载等等。

掌握好插件技术,需要如下的安卓基础和相关知识,例如:

  1. Android应用程序安装,加载过程
  2. Android应用运行机制,生命周期调用原理
  3. Android应用资源编译打包原理
  4. Android应用读取资源原理
  5. Android系统AMS、PMS、NMS等系统服务的运作原理
  6. 增量更新
  7. HOOK等技术

本文将从基础的插件化原理Android插件化初探再到大厂架构演化实战应用,总结出了较为全面与完整的安卓插件技术与插件化对 Android开发的重要性。

插件化原理

1.类加载

2.双亲委托机制

3.资源加载

4.四大组件支持

android项目开发代码 又一开源项目爆火于GitHub(1)

5 ProxyActivity代理

6 hook方式

7 其他组件

8 Android动态加载框架DL的架构与基本原理解析

9 Android 插件化框架 DynamicLoadApk 源码分析

android项目开发代码 又一开源项目爆火于GitHub(2)

Android插件化初探

1.从零开始实现一个插件化框架(1)

  • 概念
  • 插件化解决的问题
  • 各插件化框架对比
  • 插件化实现
  • ClassLoader实现类

android项目开发代码 又一开源项目爆火于GitHub(3)

2.从零开始实现一个插件化框架(2)

  • Activity的启动流程
  • 寻找Hook点
  • 撸码阶段
  • 代理对象
  • 偷天换日,替换原来的Intent
  • ActivityThread
  • 将代理的intent替换回来
  • 注意

android项目开发代码 又一开源项目爆火于GitHub(4)

3.从零开始实现一个插件化框架(3)

  • 插件资源加载
  • Android中资源加载流程
  • ActivityManager
  • ActivityThread
  • AppCompatActivity
  • 总结

android项目开发代码 又一开源项目爆火于GitHub(5)

大厂架构演化

1.360插件开发之DroidPlugin

  • 插件开发之360 DroidPlugin源码分析
  • Hook机制类图关系
  • Hook机制的时序图关系
  • Manifest权限申请
  • 基类Hook做了什么?
  • ProxyHook
  • BaseHookHandle
  • HookedMethodHandler
  • ReplaceCallingPackageHookedMethodHandler
  • IO重定向
  • 递归遍历
  • 以IPackageManager为例
  • 插件开发之360 DroidPlugin源码分析之Binder代理

android项目开发代码 又一开源项目爆火于GitHub(6)

2. 滴滴VirtualApk实战

  • 配置
  • 应用
  • 原理
  • 总结
  • 问题

android项目开发代码 又一开源项目爆火于GitHub(7)

3.基于VirtualAPK Android重构之插件化

  • Plug-in Hello World
  • 插件化框架的选择
  • 插件化原理
  • 引入插件化之痛
  • 总结

android项目开发代码 又一开源项目爆火于GitHub(8)

4.爱奇艺插件化原理分析之 Neptune框架

  • 插件化基础知识点
  • 类加载
  • 插件化中资源使用限制
  • Apk打包流程
  • 四大组件的插件化
  • Neptune源码分析
  • 插件Activity任务栈
  • 处理插件中的广播

android项目开发代码 又一开源项目爆火于GitHub(9)

5. 360开源全面插件化框架RePlugin 实战

  • RePlugin 介绍
  • 宿主接入步骤
  • 插件接入步骤
  • 使用插架

android项目开发代码 又一开源项目爆火于GitHub(10)

6. 腾讯插件化框架 Shadow项目解析

  • 框架简单介绍
  • 框架结构分析
  • sample 示例代码 AndroidManifest.xml 分析
  • Activity 实现
  • 替换插件 Activity 的父类
  • Service 实现
  • BroadcastReceiver 实现
  • ContentProvider 实现
  • 框架自身动态化
  • 总结

android项目开发代码 又一开源项目爆火于GitHub(11)

总结:

插件化技术可以说是Android高级工程师所必须具备的技能之一,从2012年插件化概念的提出(Android版本),到2016年插件化的百花争艳,直至现在拆件化已成为Android开发必不可少的重点,可以说,插件化技术引领着Android技术的进步。

我相信一个高级程序员一定是勤奋的,可以快速地掌握大量 的新技术、新框架,不仅懂得原理,还能把新的技术落地到公司的产品中去。这是衡量程序员 工作能力的一个重要标准,那么怎样才能将技术运用自如呢?唯有实践。

文中资料都是免费分享给大家的,有需要这份Android插件化强化实战文档的小伙伴可以后台私信关键词【插件化】即可获得免费领取方式。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页