上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

插件化简单介绍

guduadmin281月前

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。

专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

未经允许不得转载

目录

  • 一、导读
  • 二、概览
  • 三、常见的插件化方案
  • 四、插件化的应用
  • 五、 推荐阅读

    插件化简单介绍,在这里插入图片描述,第1张

    一、导读

    我们继续总结学习基础知识,温故知新。

    本文主要讲述插件化相关的概念及应用。

    二、概览

    插件化是指将一个Android应用程序拆分成多个独立的插件(Plugin),每个插件可以独立开发、测试、编译、发布和升级,相当于一个模块是一个apk。

    插件可以在运行时动态加载和卸载,实现功能的扩展和灵活性的提高。插件可以通过定义接口和调用API的方式与宿主应用程序进行通信和交互。

    插件化简单介绍,在这里插入图片描述,第2张

    目前就很多的大型应用,如支付宝等都在使用插件化技术,插件化有诸多的优势:

    • 功能扩展

      通过加载和卸载插件,可以动态地扩展宿主应用程序的功能。

    • 更灵活

      开发过程中,每个插件都是独立编译运行、独立开发和测试。

    • 动态更新

      插件可以在运行时动态加载和卸载,实现功能的动态更新。

    • 降低沟通成本

      三、常见的插件化方案

      截止 2023年8月份还在更新的开源库,目前只有一个

      Shadow(腾讯)
      是否支持四大组件全部
      是否支持so支持
      兼容性适配
      原理零反射全动态Android插件框架
      是否维护最近更新2023/8
      缺点Kotlin实现,且无详细的文档

      shadow github

      还有很多好久没更新的,虽然不更新了,但是原理跟思路也是可以参考一下的:

      DynamicLoadApkDynamicAPKSmallDroidPluginVirtualApk(滴滴)Atlas(阿里)RePlugin(爱奇艺)
      是否支持四大组件支持Activity支持Activity支持Activity全部全部运行bundle中的四大组件全部(除静态广播)
      是否支持so支持支持支持支持
      兼容性适配一般一般中等
      原理代理,少量反射Bundle、动态组件化框架跨平台Hook 系统服务、反射Hook系统、占坑、反射Bundle、动态组件化框架占坑、唯一HookClassLoader
      是否维护停更停更停更停更停更停更停更

      RePlugin

      dynamic-load-apk

      DynamicAPK

      Small

      DroidPlugin

      VirtualAPK

      atlas

      这里还有一个收费的,咱也没用过,欢迎用过的大佬来补充一下。

      VirtualApp

      谷歌对系统安全越来越严格,针对系统层面的Hook、反射等非常规操作做出了一系列的改动、限制,考虑到项目的长期维护,这一类的插件方案要慎重使用。

      四、插件化的应用

      • 双开/多开需求

        同一部手机上安装多个微信/QQ/WhatsApp/Facebook等APP,实现一部手机,多个账号同时登录

      • 移动安全需求
        • 2.1 应用行为审计

          实现实时监测用户使用行为,将违规信息上传到服务器;并能轻易实现诸如时间围栏(在某个时间段内能否使用应用的某个功能)、地理围栏(在某个区域内能否使用应用的某个功能)、敏感关键字过滤拦截等功能需求。

        • 2.2 数据加密

          HOOK能力可以实现对应用的全部数据/文件加密,保证数据/文件落地安全。

        • 2.3 数据采集

          HOOK能力可以实现应用数据的实时无感上传需求,如聊天记录、转账记录等,防止事后删除无法追溯。

        • 2.4 数据防泄漏

          可以实现应用防复制/粘贴、防截屏/录屏、防分享/转发、水印溯源等需求。

        • 2.5 防攻击泄密

          将APP获取短信/通讯录/通话记录/后台录音/后台拍照/浏览历史/位置信息等隐私相关的行为完全控制在沙盒中,防止木马/恶意APP获取到用户真实的隐私数据,造成泄密等严重后果。

        • 免ROOT HOOK需求

          现诸如虚拟定位、改机、APP监控管理、移动安全等各种场景需要的功能

        • APP静默安装需求
        • APP管控需求

          掌握APP访问了哪些系统API,哪些敏感数据,哪些设备信息等。

        • app业务拆分
        • 等等

          下一篇我们将介绍插件化的原理。

          java hook
          native hook
          反射
          动态代理
          classloader
          

          五、 推荐阅读

          Java 专栏

          SQL 专栏

          数据结构与算法

          Android学习专栏

          未经允许不得转载

          插件化简单介绍,ddd,第3张

网友评论

搜索
最新文章
热门文章
热门标签
 
 梦见柿子树上结了很多红柿子  梦见房顶漏水寓意是吉兆  女性梦见杀猪是什么意思