Skip to content

一键去除Butterknife相关依赖, 老项目迁移利器

License

Notifications You must be signed in to change notification settings

ccccmmmz/RemoveButterKnife

 
 

Repository files navigation

RemoveButterKnife - Android Studio Plugin

一个能够一键批量去除Android老项目中的Java类里Butterknife相关依赖的插件✂️, 老项目迁移利器🔥

0. 引子

  • ButterKnife已在2020年停止了更新, 开发者JakeWharton也不再推荐使用该库
  • ButterKnife对组件化的支持不友好
  • ButterKnife对AndroidX的支持不友好

因此, 在进行老项目升级改造和组件化的时候, 有一个快速剔除ButterKnife库依赖的工具将极大的提升效率, 为此, 我在公司内部进行改造时开发了这款插件, 并在之后将其开源, 希望能帮到你


1. 插件功能预览

上图左侧为老代码, 右侧是经过处理后的代码

2. 插件的主要功能

  • @BindView(id)注解转换成findViewById(id)
  • @OnClick(id)注解转换成java8形式的Lambda __bindClicks()
  • 在合适的位置插入__bindClicks()__bindViews()

3. 安装

  • Releases中找到最新版本的Jar文件下载到本地

  • 打开Android Studio > Preferences(MacOS)/Settings(Windows) > Plugins > Install Plugin from Disk...(右上角小齿轮⚙️) 找到刚才的Jar包安装

4. 使用

** 文件中存在ButterKnife.bind代码已经准确获取锚点,无需关注 ** 如果是基类中ButterKnife.bind子类中使用则需要编辑ButterActionDelegate#mMatchMethodSet加入项目的方法作为匹配

  • 单独处理: 在需要处理的Java文件上右键,在展开的菜单底部找到"RemoveButterKnife"点击.
  • 批量处理整个文件夹: 在需要处理的文件夹上右键,找到"RemoveButterKnife"点击.
  • 多选: 按住Command/Ctrl键再选择好需要处理的Java文件,右键, 找到"RemoveButterKnife"点击.

About

一键去除Butterknife相关依赖, 老项目迁移利器

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%