RePlugin虽发源于360手机卫士RePlugin Team团队,但它从“正式开源”起,就已经转化成了一个社区开源项目,并得到了广大爱好者的强烈支持。目前已成为中国非常火爆的Android插件化项目

为了表示对所有为RePlugin提供核心贡献人的感谢,特在这里编写“金牌贡献榜”,并永久留存。以下分为“重要贡献者”和“影响力社区人”。

此外,这里非常感谢:姚彤总,刘刚(@liugang)总,以及360技术委员会、360大学团队,对RePlugin开源工作的大力支持!

以下是目录:

重要贡献者

我们对“重要贡献者”的核心要求为:

提交“重要功能代码”

其中,对“重要功能代码”的定义为(选其一):

  • 提供了业界首创的、核心功能的解决方案并付诸代码实践(最重要)
  • 解决了极其严重、又不容易解决的问题
  • 联合他人一同完成的提交,且联合者是“代码重要贡献者”之一
  • 提出非常详细,且为大型重要功能(如Task-Affinity的支持等)的完整解决方案,并由另一人完成,且最终实现与方案非常接近(为联合贡献者)换言之,仅提供方向(而非具体方案,或最终完成的方案有明显偏差),仅提出问题,Review别人的改动、撰写文章来讲解和原理分析(此为“影响力社区人”部分)。或仅解决一个不是很难的Bug,添加非重要需求,或代码重构等,都不属于“提交重要功能代码”的范畴。

如需了解所有贡献者,请点击此处查看《RePlugin Contributors》

除此之外,我们对重要贡献者的要求还有(需全部符合):

  • 重要代码被Accept的(开源前没有走GitHub PR的,按内部流程算)的
  • 代码质量高,格式完整,符合规范,无明显和严重Bug(经过Double Check)的
    GitHub名所作的重点成绩
    @bnotebook(卜云涛)RePlugin项目负责人
  • 优化进程管理方案及算法
  • 部分代码逻辑重构
  • 针对Replugin的性能做了大量的优化
  • Replugin相关的ANR率下降98%,秒级以上的卡顿问题基本消除
  • 360手机卫士半年内,整体ANR率降低了83.1%以上;卡顿率降低了88.2%。(数据来源:手卫性能统计)
  • 优化进程锁相关逻辑,提升性能
  • 主导Android P适配
  • 公共库插件化方案,共享lib库,减少包大小及内存大小(暂时未提交github)
  • 修复遗留bug
  • @hyongbaiRePlugin项目重要成员
  • 优化锁的性能问题。
  • 兼容 gradle 4.x 编译问题
  • 兼容 Android gradle 插件3.3.2
  • 解决插件脚本 provider 编译问题
  • 一键上传 jcenter 以及一键编译 demo
  • 修复遗留bug
  • @jiongxuan(张炅轩)RePlugin早期创始人之一,前项目负责人(兼“杂工”)
  • 全新插件Service方案(PluginServiceServer)
  • 全新插件Provider方案(PluginProviderClient)
  • 全新插件管理方案(PluginManagerServer)
  • RePlugin架构搭建和设计(RePlugin类和相关类)
  • 插件Application方案(PluginApplicationClient)
  • 插件SO库方案(PluginNativeLibsHelper)
  • 插件进程管控方案(PluginManagerServer的Running系列)
  • 外置插件方案(PluginManagerServer)
  • 插件安装升级、版本控制(PluginManagerServer)
  • 插件信息方案(PluginInfo/ComponentList)
  • 适合Android 7.0+的ClassLoader Hook方案(RePluginClassLoader)
  • 共用宿主类方案(PluginDexClassLoader)
  • 进程间同步通讯方案(PluginProcessPer的各种sync方法)
  • 插件管理进程(非常驻)(#296
  • 插件预加载和快速Dex释放方案(Preload相关)
  • 插件框架版本策略(PluginInfo)
  • Task-Affinity方案(提供原理方案,核心实现者:@erhu)
  • @songzhaochun(宋照春)RePlugin早期创始人之一,前项目负责人
  • ClassLoader Hook方案(RePluginClassLoader)
  • 插件Activity方案(PluginCommImpl/ForwardActivity)
  • 组件坑位分配方案(PluginContainers)
  • 插件Context核心方案(PluginContext)
  • 插件资源、Dex、信息加载方案(Plugin/Loader)
  • 插件启动方案(Entry)
  • 内置插件方案(FinderBuiltin)
  • P-N插件方案(PmHostSvc的pluginDownload)
  • 插件Service早期坑位方案(PluginCommImpl的Service系列)
  • 插件Provider早期坑位方案(PluginCommImpl的Provider系列)
  • 插件Binder交互方案(PluginCommImpl)
  • 插件管理进程(常驻)(PmHostSvc/PluginProcessMain)
  • 插件信息方案(PluginInfo)
  • 插件协议版本策略(Plugin)
  • 插件Dummy(防崩溃)设计策略(Dummy系列)
  • 进程锁方案(ProcessLocker)
  • @erhu(胡俊杰)RePlugin创始人之一
  • 插件Activity Task-Affinity方案(TaskAffinityStates/PluginContainers)
  • 动态编译方案(plugin-gradle的各种Injector)
  • 动态生成宿主坑位方案(host-gradle的ComponentsGenerator)
  • 插件静态广播方案(PluginReceiverProxy)
  • 插件自定义Theme方案(PluginLibraryInternalProxy的Theme方法)
  • 静态多进程坑位方案(ProcessStates/PluginContainers)
  • IntentFilter方案(IntentMatcherHelper/ManifestParser)
  • Activity未下载时的中转(DynamicClassProxyActivity)
  • @cundong(刘存栋)RePlugin创始人之一
  • 动态多进程坑位方案
  • Android O 全时编译支持
  • 无占坑Service方案完善
  • ART虚拟机插件加载 dex2oat 加速方案(首次加载插件提速)
  • 多进程插件加载优化方案
  • Android 8.1适配
  • 插件卸载方案
  • 插件宿主公用同一份Fresco方案(#474
  • @SkyEric(刘志伟)RePlugin创始人之一
  • 同版本插件覆盖方案(#199
  • 插件卸载方案(PluginManagerServer的uninstall)
  • 开源的webView方案
  • @wangyupeng1-iri(王玉鹏)RePlugin创始人之一
  • 自动识别生成内置插件JSON方案(replugin-host-gradle)
  • 一键安装插件方案(#203
  • 一键运行、卸载插件和宿主调试方案(#189
  • @kezong(杨超)RePlugin创始人之一
  • 进程、线程锁插件加载优化方案(Loader)
  • 支持InstantRun运行主程序(Loader)
  • 新插件类库方案(replugin-plugin-lib,和 @primLooper 协作)
  • @primLooper(刘坡)RePlugin创始人之一
  • 新插件类库方案(replugin-plugin-lib)
  • 新插件启动策略(Entry3)
  • @lizhangqu(李樟取)RePlugin社区重要贡献人
  • 率先支持Android Gradle 2.3.3+(#96
  • 率先支持Android Gradle 3.0.0+(#217
  • 支持Instant Run编译宿主(#132
  • @wangfuda(Osan)RePlugin社区重要贡献人
  • 支持全平台插件MultiDex方案(#264

注意:并非所有代码贡献者,都会出现在“重要贡献者”榜单中,仅为非常杰出的,连续贡献者而准备,敬请理解。同时也欢迎大家提交高质量的,重要功能代码,在“1Hook”和“保证极致稳定”的前提下,我们会重点评估其改动,并根据实际情况来随时更新此表。

影响力社区人

我们对“影响力社区人”的定义是:

  • 在社区(包括QQ群)内,热心为开发者解答大量问题的。通常他们在群中担任“管理员”职责
  • 为RePlugin撰写高质量文章的大牛可以说,没有这些兄弟们的共同努力,RePlugin社区也不会被称为“氛围最好,最活跃的插件化社区”。在此衷心表示感谢!您们真的很棒!

这些爱好者包括(按社区活跃度,以及文章贡献等综合为序):

@osanRePlugin项目核心贡献者之一,QQ群管理员,帮助解决非常大量的问题,是群中公认的热心的大神,目前QQ群活跃积分为第一,迄今(7月25日)回答问题数达900多条,帮助建立完整的反馈机制并运行良好。著有多篇文章,包括RePlugin Gradle的深度分析文章,广受好评。拥有RePlugin WiKi修改权限(目前为唯一社区人),共同完善社区文档

@Youloft-Coder:QQ群管理员,解决了群中的大量疑惑。其中在Sample中提供了Fragment方案(见Sample中的DemoFragment),让很多开发者从中受益

@老王头:QQ群管理员,最早的社区维护者之一。帮助编写完备的Demo。著有多篇文章,帮助很多新人“避免踩坑”,也为完善RePlugin社区提供了很大的帮助。

@猫六:QQ群管理员,帮助解决很多问题,深入挖掘提问者的诉求,并整理成一些FAQ,帮助新人避免踩坑。

@Alex:QQ群管理员,自己的内部项目已完全接入RePlugin,并以亲身经历来帮助大家解决问题。著有详细的接入文章,帮助新人更好的使用RePlugin。

@志鹏-深圳:QQ群管理员,最早的社区维护者之一,帮助很多开发者解决了多个问题。

@goodev撰写多篇文章,帮助新人解决了很多问题,并提供了多个PR。

@不知不觉:QQ群管理员,最早的社区维护者之一,帮助很多开发者解决了多个问题。

@刘镓旗撰写多篇文章

所有贡献者

除了上述提到的贡献者外,RePlugin还得到了开源社区同学的支持。