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
@hyongbai RePlugin项目重要成员 - 优化锁的性能问题。
- 兼容 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社区也不会被称为“氛围最好,最活跃的插件化社区”。在此衷心表示感谢!您们真的很棒!
这些爱好者包括(按社区活跃度,以及文章贡献等综合为序):
@osan:RePlugin项目核心贡献者之一,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还得到了开源社区同学的支持。
- 如需了解“所有为RePlugin”的贡献者,请点击此处查看《RePlugin Contributors》
- 如需了解来自社区大神们的,RePlugin相关原理分析文章,请点击此处查看《高级话题》
- 如需了解社区爱好者们的,RePlugin说明和相关文档,请点击此处查看《参考信息》在此,为所有社区贡献者表示衷心的感谢。请记住他们。