专业社交网站建设公司,校园 网站建设 知乎,搭建一个平台需要什么,代理服务器网页版关于作者#xff1a;CSDN内容合伙人、技术专家#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 #xff0c;擅长java后端、移动开发、商业变现、人工智能等#xff0c;希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、常见的插件化方案… 关于作者CSDN内容合伙人、技术专家 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 擅长java后端、移动开发、商业变现、人工智能等希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、常见的插件化方案四、插件化的应用五、 推荐阅读 一、导读
我们继续总结学习基础知识温故知新。
本文主要讲述插件化相关的概念及应用。
二、概览
插件化是指将一个Android应用程序拆分成多个独立的插件Plugin每个插件可以独立开发、测试、编译、发布和升级相当于一个模块是一个apk。 插件可以在运行时动态加载和卸载实现功能的扩展和灵活性的提高。插件可以通过定义接口和调用API的方式与宿主应用程序进行通信和交互。 目前就很多的大型应用如支付宝等都在使用插件化技术插件化有诸多的优势
功能扩展 通过加载和卸载插件可以动态地扩展宿主应用程序的功能。更灵活 开发过程中每个插件都是独立编译运行、独立开发和测试。动态更新 插件可以在运行时动态加载和卸载实现功能的动态更新。降低沟通成本
三、常见的插件化方案
截止 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学习专栏
未经允许不得转载