59 Star 292 Fork 70

GVPreplugin / RePlugin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_CN.md 12.31 KB
一键复制 编辑 原始数据 按行查看 历史
hyongbai 提交于 2019-07-26 17:39 . #Release# 2.3.3

RePlugin Logo

license

Release Version

通知

360开源又一力作——ArgusAPM移动性能监控平台

ArgusAPM是360手机卫士客户端团队继RePlugin之后开源的又一个重量级开源项目。ArgusAPM是360移动端产品使用的可视化性能监控平台,为移动端APP提供性能监控与管理,可以迅速发现和定位各类APP性能和使用问题,帮助APP不断的提升用户体验。

360移动技术最新活动通知:

2018年12月16日,360移动性能开放日邀您参加,届时将会有360、美团技术大牛为大家分享Android、iOS性能监控实践。 欢迎报名参加,戳戳戳!!!-->https://mp.weixin.qq.com/s/-7DCnXI_EBMBwYG_PUuUDg

RePlugin —— 历经三年多考验,数亿设备使用的,稳定占坑类插件化方案

RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。

其主要优势有:

  • 极其灵活:主程序无需升级(无需在Manifest中预埋组件),即可支持新增的四大组件,甚至全新的插件
  • 非常稳定:Hook点仅有一处(ClassLoader),无任何Binder Hook!如此可做到其崩溃率仅为“万分之一”,并完美兼容市面上近乎所有的Android ROM
  • 特性丰富:支持近乎所有在“单品”开发时的特性。包括静态Receiver、Task-Affinity坑位、自定义Theme、进程坑位、AppCompat、DataBinding等
  • 易于集成:无论插件还是主程序,只需“数行”就能完成接入
  • 管理成熟:拥有成熟稳定的“插件管理方案”,支持插件安装、升级、卸载、版本管理,甚至包括进程通讯、协议版本、安全校验等
  • 数亿支撑:有360手机卫士庞大的数亿用户做支撑,三年多的残酷验证,确保App用到的方案是最稳定、最适合使用的

截止2017年6月底,RePlugin的:

特性 描述
插件数 103(核心57个)
插件占应用比 高达83%
年发版次数 高达596次(工作日均2次)
崩溃率 万分之一(0.01%),极低
时间 2014年应用,3年验证

目前360公司几乎所有的亿级用户量的APP,以及多款主流第三方APP,都采用了RePlugin方案。

有关RePlugin的详细介绍,请点击这里阅读《RePlugin 官方 WiKi》

我们还支持以下特性

特性 描述
组件 四大组件(含静态Receiver)
升级无需改主程序Manifest 完美支持
Android特性 支持近乎所有(包括SO库等)
TaskAffinity & 多进程 支持(坑位方案
插件类型 支持自带插件(自识别)、外置插件
插件间耦合 支持Binder、Class Loader、资源等
进程间通讯 支持同步、异步、Binder、广播等
自定义Theme & AppComat 支持
DataBinding 支持
安全校验 支持
资源方案 独立资源 + Context传递(相对稳定)
Android 版本 API Level 9+ (2.3及以上)

愿景

让插件化能飞入寻常应用家,做到稳定、灵活、自由,大小项目兼用。

最新特性

解决了Android P(Android 9.0)相关适配问题,全面支持Android P(Android 9.0)正式版。

RePlugin 架构图

RePlugin Framework

以360手机卫士为例:

  • 系统层——Android:为Android Framework层。只有ClassLoader是Hook的,而AMS、Resources等都没有做Hook,确保了其稳定性。
  • 框架层——RePlugin框架:RePlugin框架层,只有RePlugin是对“上层完全公开”的,其余均为Internal,或“动态编译方案”生效后的调用,对开发者而言是“无需关心”的。
  • 插件层——各插件:“标蓝部分”是各插件,包括大部分的业务插件(如体检、清理、桌面插件等)。而其中“标黄部分”是支撑一个应用的各种基础插件,如WebView、Download、Share,甚至Protobuf都能成为基础插件。

使用方法

RePlugin的使用方法非常简单,大部分情况下和“单品”开发无异。

若您是第一次接触RePlugin,则请点击这里阅读《快速上手》,跟随我们的指引,了解更多的内容。

若您想了解更多有关RePlugin的玩法,则请点击这里阅读《详细教程》,了解更多好玩的玩法。

若您想看下RePlugin的Sample工程,进而了解框架的具体用法,则请点击这里查看Sample源代码

若您在接入RePlugin中遇到了任何问题,则请点击这里阅读《FAQ》,相信会有您想要的答案。

插件管理服务—与RePlugin配套的插件管理、下发、统计服务

至今为止有数不清的用户联系我们让做配套的插件管理功能,所以 RePlugin 团队联合 360 Web 平台部,合力推出 RePlugin 插件管理服务,再次大幅降低了用户使用RePlugin的门槛,插件管理服务功能介绍如下:

  • 插件版本管理:对APK插件包名、别名和版本号的交集限制,防止下发出错。

  • 打点统计:上报即显示下发量、下载量、安装量和错误量数据。

  • 升版管理:严格要求用户新建下发任务为面向虚拟用户或部分真实用户的“测试版”下发任务(适用于内测、AB和灰度),测试没问题以后才能切换到面对所有真实用户的“线上版”下发任务,防止出错。

  • 下发限速:开发者可自定义自己想要的插件下发速度。

  • 运营商和厂商限制:开发者可自定义自己想下发的运营商和目标终端厂商。

  • 灵活的下发条件设置:根据用户群体对下发条件的要求程度,我们提供了4种条件设置功能,对下发条件要求不高的用户可直接使用便捷条件下发(包括按人数和指定设备下发);对下发条件要求高的用户可使用自定义条件下发(包括文字条件编辑器和代码条件编辑器)。

PS:我们原创的文字版条件编辑器很有意思哦,它能将复杂繁琐的条件代码还原成有语法有逻辑的中国话,真的是能让非技术人员第一次使用就看得懂会操作的优秀功能,目前为止我们应该是第一个将体验做到如此细腻的产品。

使用地址:360移动开发者-RePlugin插件管理

已接入RePlugin的应用

我们诚挚期待您成为咱们RePlugin应用大家庭中的一员!

除了360集团旗下的亿级别应用以外,还有一些对稳定要求极其严苛的“金融类”产品,及第三方合作应用也接入了RePlugin(含SDK):

                                                                                                       
360 手机卫士360 手机助手360 手机浏览器花椒相机360 清理大师
360 影视大全J借钱吧海淘1号华润通借了吗
360OS 系统应用360 借条(即将发布) (即将发布) (即将发布)

这里衷心感谢 “360手机助手”,以及其它各App团队成员,帮助我们发现了很多需要改进的地方,并给予了非常积极的反馈。您们的鼓励与支持,让咱们的RePlugin能走的更远、更好!

已接入RePlugin的插件

目前已有的插件,可以分为以下几类,供各App开发者参考:

  • 展示插件:如卫士首页(是的,你没看错)、体检、信息流等
  • 业务插件:如清理、骚扰拦截、悬浮窗等
  • 合作插件:如程序锁、免费WiFi、安全桌面等
  • 后台插件:如Push、服务管理、Protobuf等
  • 基础插件:如安全WebView、分享、定位等

截止2017年6月底,这样的插件,我们有103个。衷心希望您能成为这个数字中的新的一员!

贡献自己的力量

我们欢迎任何形式的贡献,并致以诚挚的感谢!

你可以贡献代码、提出问题、编写文档等。有关“贡献”相关的内容,请点击这里阅读《贡献力量》

与我们联系

欢迎您加入到我们的RePlugin微信群、QQ群大家庭。

微信群已超过上限,请进入我们的QQ群

QQ群 1:653205923 QQ群 2:589652294

License

RePlugin is Apache v2.0 licensed.

Java
1
https://gitee.com/replugin/RePlugin.git
git@gitee.com:replugin/RePlugin.git
replugin
RePlugin
RePlugin
dev

搜索帮助