堪比阿里插件的Android Studio插件集合(IDE通用)(下)
点击上方蓝字关注码个蛋
除阿里插件之外这些好用的插件你知道吗?
作者博客
http://www.jianshu.com/u/f408bdadacce
文章目录
第三方注解,事件和依赖注入库可视化工具:
Android ButterKnife Plugin Plus
Android ButterKnife Zelezny
Remove ButterKnife
eventbus3-intellij-plugin
dagger-intellij-plugin dagger
otto-intellij-plugin otto
databinding-support
代码补全工具:
Android Postfix Completion
GradleDependenciesHelperPlugin
.ignore
辅助工具
CodeGlance 代码预览和快速定位
IconViewer图标预览插件
GsonFormat 快速生成json实体类的插件
JsonToKotlinClass 能将 Json 数据直接映射
生成 Kotlin Data Class 代码。
android-studio-proteus-plugin 将xml转化为json。
Lifecycle Sorter 按生命周期排序
Android Methods Count 统计第三方依赖库的方法数。
dexcount-gradle-plugin 统计方法数
Android-Resource-Usage-Count 显示每个资源文件的引用次数
Statistic 统计代码行数
SingletonTest 生成单例模式的类
TemplateBuilder是一款能够帮助我们快速生成Android Studio Template的Android Studio插件
Markdown Navigator是一个能在IDE编辑markdown语法的插件。
idea-markdown
instapk-studio-plugin 分享apk文件
UI优化有关:
TinyPic 压缩图片资源
lint-cleaner-plugin 删除未使用的资源
folding-plugin 布局文件分组的插件
Android Studio主题:
Material Theme UI 添加Material主题到你的Android Studio
Android Studio插件之sexy editor(设置AS代码编辑区的背景图)
UML工具
Code Iris快速分析布局以及代码包结构关系,并生成UML图
SimpleUML 生成UML图
打包、加固、混淆、Gradle编译、搜索代码:
AndroidProguardPlugin一键生成项目混淆代码插件(不过目前可能有些第三方项目的混淆还未添加完全)
-
ApkMultiChannelPlugin 一个为了方便
Android 多渠道打包的 Android Studio / IDEA 插件
Codota 搜索最好的Android代码
intellij-java2smali将Java & Kotlin编译成smali
gradle-cleaner-intellij-plugin强制清除延迟,不再需要Gradle任务。
freeline Android 平台上的秒级编译方案,Instant Run 的替代品
检测、Code Review、测试和调试:
LeakCanary 帮助你在开发阶段方便的检测出内存泄露的问题。
JVM Debugger Memory View Android Studio和IDEA中一个很有用的内存调试插件。
reVu 代码review神器,这个插件比较轻量,review记录保存在xml文件中,直接提交到git
findBugs-IDEA 帮你一起找bug的一个插件,很老的一个插件了。
CheckStyle-IDEA(49M,有点大)检查代码风格的插件。
JSONOnlineViewer 在android studio中调试接口数据
ADB WIFI 无需root就能wifi调试
adb-idea 可以一键清理缓存并重启APP
SQL Scout (SQLite Support) 在 Android Studio 上调试数据库 ( SQLite )
Robotium Recorder一个自动化测试框架。
0
前言
昨天发了上篇:「堪比阿里插件的Android Studio插件集合(IDE通用)(上)」大家都觉得挺不错,今天带来下篇,希望大家同样喜欢。
1
第三方注解,事件和依赖注入库可视化
Android ButterKnife Plugin Plus 它是基于android-butterknife-zelezny 1.6开发的,并在此基础上新增了以下功能。
1)可以自由选择是否在当前类中对ButterKnife进行初始化,避免了原版本只要使用插件初始化控件会自动在onCreate中进行ButterKnife.bind(this)的尴尬。
自由选择是否在当前类中对ButterKnife进行初始化
这样就可以在基类中进行ButterKnife的初始化,不必要每个类中都要初始化,对开发框架的搭建更加方便。
2)在Android Studio的设置界面,对在当前类中是否强制初始化提供了默认值设置,这样就可以让插件使用更符合自己的操作习惯。
设置当前类中是否默认为强制初始化
-
Android ButterKnife Zelezny 配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解。
使用方式:在布局右键Generate --> Generate ButterKnife Injections --> 选择要命的名(或者快捷键Ctrl+Shift+B)
使用Android ButterKnife Zelezny
-
Remove ButterKnife 把使用ButterKnife的注解快速批量切换成正常findViewbyId
平时使用ButterKnife的困扰:
1.ButterKnife这个第三方库每次更新之后,绑定view的注解都会改变,从bind,到inject,再到bindview,搞得很多人都不敢升级,一旦升级,就会有巨量的代码需要手动修改,非常痛苦
2.当我们有一些非常棒的代码需要拿到其他项目使用,但是我们发现,那个项目对第三方库的使用是有限制的,我们不能使用butterknife,这时候,我们又得从注解改回findviewbyid
针对上面的两种情况,如果view比较少还好说,如果有几十个view,那么我们一个个的手动删除注解,写findviewbyid语句,简直是一场噩梦(别问我为什么知道这是噩梦)
所以,这种有规律又重复简单的工作为什么不能用一个插件来实现呢?于是就有大神写了RemoveButterKnife这个插件帮你解决这些烦恼。
使用很简单: 点击菜单栏 Edit → RemoveButterKnife
Remove ButterKnife的使用
dagger-intellij-plugin dagger可视化辅助工具,有了它可以让@Inject对象与创建它的@Provides方法之间有一个很清晰的可视化过程。【具体能不能兼容最新的dagger2,还没研究,博主对这个用的少,有兴趣的小伙伴欢迎去尝试,有结果之后别忘了在博客下面留言告诉我一声,感谢大家。】
dagger-intellij-plugin 使用图解
otto-intellij-plugin otto事件导航工具
从 @Produce 跳转到 @Subscribe 过程
otto-intellij-plugin使用1
从 Event 跳转到 @Subscribe
otto-intellij-plugin使用2
databinding-support 一个可以快速实现databinding的插件,自从谷歌推出databinding框架以来,有不少人都在使用这个框架开发,一般情况下在xml里面手写一些代码很麻烦,有了这个插件就要方便很多了,并且可以快速跳转到具体类。
快捷键:alt + enter
具体功能如下所示:
双击根布局,按alt + enter,选择 Convert to databinding layout ,布局就被包裹在<layout></layout> 标签里面
databinding-support plugin1.gif
鼠标放在命名空间上,按alt + enter,选择Add <data> tag, 即:添加<data></data>标记
databinding-support plugin2.gif
双击一个属性值,按alt + enter,右键选择Wrap [email protected]{} , 即:包裹在@{}里面
databinding-support plugin3.gif
双击一个属性值,按alt + enter,右键选择Wrap [email protected]={} , 即:包裹在@{}里面
databinding-support plugin4.gif
双击一个属性值,按alt + enter,选择 Switch to...,在 @{} 和 @={} 之间切换(字母太多,不打了,选择最后一个就是的,具体的请看图),
databinding-support plugin5gif.gif
在 <data> 标签里面,按alt + enter,右键选择Add <import> tag,就可以添加 <import> 标签
databinding-support plugin6.gif
在 <data> 标签里面,按alt + enter,右键选择Add <variable> tag,就可以添加 <variable> 标签
databinding-support plugin7.gif
从类跳转到layout布局,这个很通用,一看就知道。
databinding-support plugin8.gif
2
代码补全
Android Postfix Completion 可根据后缀快速完成代码,这个插件在Android Studio原有的基础上增添了一些新的功能
github地址:https://github.com/takahirom/android-postfix-plugin
JetBrains plugin地址:https://plugins.jetbrains.com/plugin/7775-android-postfix-completion
有这些语句可以操作: .toast .log .logd .find .isemp .vg .vsb
.invsb .gone .snack .snackaction
部分示例图如下:
Android Postfix Completion 使用
-
Gradle Dependencies And Plugins Helper gradle依赖支持自动补全
1. gradle依赖支持自动补全,
2. 默认使用jcenter API搜索dependencies,使用Gradle Plugins搜索plugins,
3. 可选使用Nexus API搜索或使用Maven Index本地搜索加速,
4. 支持Gradle groovy脚本(.build)及kotlin脚本(.build.kts)。*示例图:
Gradle Dependencies And Plugins Helper 使用
jetbrains下载地址:https://plugins.jetbrains.com/plugin/10033-gradle-dependencies-and-plugins-helper
github地址:https://github.com/bestwu/gradle-dependencies-plugins-helper-plugin
中文文档:http://bestwu.cn/2017/09/01/gradle-dependencies-plugins-helper-plugin/
-
.ignore(https://plugins.jetbrains.com/plugin/7495--ignore)
过滤掉一些不想提交的文件,把相应的过滤文件名(或路径)添加到.gitignore 中;根据不同的语言来选择模板;而且还有自动补全功能。(它是Android Studio自带的.gitignore功能的增强和扩展)
ignore 使用1
ignore 使用2.gif
ignore 使用3.gif
3
辅助工具
-
IconViewer(https://github.com/davidsommer/IconViewer)
图标预览插件,在浏览目录结构时,打开带图片的目录,图片前面会显示预览图。
示范图:
IconViewer使用
GsonFormat 快速生成json实体类的插件
GsonFormat的好处:快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程
.方式1 :快捷键:点击菜单栏的 Code --> Generate --> GsonFormat 或者按 Alt + Insert 键
GsonFormat使用方式
方式2: 写一个Javabean 右键 Generate -->GsonFormat ,把json数据粘贴进来 可以修改字段,
可以选择是否public, 可以修改字段名等,最后点OK 搞定
具体用法请看演示图:
GsonFormat使用方式
-
JsonToKotlinClass 能将 Json 数据直接映射生成 Kotlin Data Class 代码,免去手动编写数据对象结构声明
JsonToKotlinClass 使用
在github也只有找到文字介绍,点击Tools菜单
-
android-studio-proteus-plugin 将xml转化为json(这个貌似在Android Studio搜索插件找不到,只能去github下载jar包,然后安装到Android Studio上。下载地址(https://github.com/flipkart-incubator/android-studio-proteus-plugin))github也只有简单的文字介绍,没有图片说明,我也尝试过,没找到生成的json在哪里。貌似自定义的xml不生效。有兴趣研究的可以去github看看怎么操作,学会了之后别忘了在博客下面留言。
1.打开一个XML资源文件
2.点击菜单栏Tools → Proteus → XML to JSON -
Lifecycle Sorter 可以根据Activity或者fragment的生命周期对其生命周期方法位置进行先后排序。
用法: 光标放在Activity里面,然后点击菜单栏Code → Sort Lifecycle Methods,然后有两种选择,一种是排放在类的前面(如果有很多方法,生命周期方法优先放前面,其他方法放后面),Place at Start of Class(快捷键 Ctrl + alt + K);另一种是排放在类的后面(与前者相反),Place at End of Class(快捷键 Ctrl + Shift + alt + K)
使用示意图如下:
Lifecycle Sorter使用前后对比
-
Android Methods Count 统计第三方依赖库的方法数。
打开项目module里面的build.gradle,发现里面行号后面多了几个小蓝色圆圈,鼠标放上面就会显示方法数信息。你会发现依赖库变成了灰色,后面中括号里面就是方法数以及相关依赖信息等,点一下就显示正常的依赖内容
【缺点】项目里面的modle依赖了一个自己写的lib,不能统计lib里的方法数
Android Methods Count 使用
dexcount-gradle-plugin (https://github.com/KeepSafe/dexcount-gradle-plugin)统计方法数
Android-Resource-Usage-Count 显示每个资源文件的引用次数
Statistic 统计代码行数
首次安装在AS的View→Tool Windows→Statistic,选择之后会在AS的左下角出现statistic按钮:
Statistic在Android Studio面板的位置
一开始里面的内容是空白的,我们点击Refresh,如果还是空白,就点击Settings来添加需要统计行数的项目。
初次打开时的显示
点击Settings后,会出现设置窗口,点击add,添加要统计代码的项目就可以了。
进入设置页面
这里重点讲一下设置里面每一项的意思:
每一项设置的具体讲解
最后效果如下图所示,这里的4张图表示的是4个不同的操作步骤:
操作步骤1
操作步骤2
操作步骤3
操作步骤4
-
SingletonTest 快速生成单例模式的预设,单例的六种生成方式:LazyUnSafe,LazySafe,Hungry,DoubleCheck,StaticInner,Enum。(有个bug: 类名不输入也会生成一个类。)
用法:鼠标点击要生成类的包名,右键 New → SingletonGenerate,然后有一个弹窗,填写类名,选择要生成的类型,点击OK,就生成了。(一般这个插件我很少用,我自定义的一个快捷键live template,自动生成单例代码的。)
*示意图如下:
SingletonTest 使用
TemplateBuilder(https://puke3615.github.io/2017/03/06/TemplateBuilder%5BChinese%5D/)
TemplateBuilder是一款能够帮助我们快速生成Android Studio Template的Android Studio插件,将通过逐个文件去配置模板的方式改进为通过插件来实现,对于简单的模板制作,只需要一键即可生成。
导出模板
导出模板
导入模板
导入模板
-
Markdown Navigator(https://plugins.jetbrains.com/plugin/7896-markdown-navigator)
Markdown Navigator 是一个能在IDE编辑markdown语法的插件,全面支持markdown语法,是目前IDE上最好用的Markdown插件。可以实时预览,拖放文件和图像以快速链接形式插入,支持导航和查找功能,将HTML粘贴到Markdown文档中自动转换为Markdown,可以导出为HTML或PDF分享给别人。
下面几张图是来源于该插件在jetbrains发布的简介图:
实时预览
支持自定义
设置语法规则
-
idea-markdown(https://github.com/nicoulaj/idea-markdown)
这个插件3年前已经停止维护,它已经从Jetbrains插件库中删除。 Jetbrains正式支持Markdown插件。
来一张github上关于这个插件的截图:
idea-markdown 使用
instapk-studio-plugin(https://github.com/PytenLabs/instapk-studio-plugin)
分享apk文件
示例图:
instapk-studio-plugin使用
4
UI优化
TinyPic(https://github.com/shenjiajun53/TinyPic)
功能:压缩图片资源,一次最多压缩500张 压缩的核心功能是 TinyPng (https://tinypng.com/)这个网站提供的。但是这个网站一次只能上传20张图片,所以你需要上传下载,上传下载重复工作。 好在这个网站提供了api可以压缩图片。
使用说明:在开发者页面下申请api key。对于一个key,每月有500次的免费压缩额度,如果压缩超过了 500张图片,就不能使用了。需要另外付费。但是申请这个api特别简单,填下邮箱,用户名就行,多申请 两个邮箱。1000张图片也妥妥够了。 这里推荐google个十分钟邮箱,不需要注册,只能使用十分钟,用来收一下验证码很方便。
使用步骤:
1.Tools目录下找到TinyPic
Tools目录下找到TinyPic
2.输入在 https://tinypng.com/developers 申请的api key
输入api key
3..选择图片,可以选择图片,或者选择文件夹或者同时选中,反正是遍历文件夹下的图片,筛选jpg和png ,key的剩余次数
选择图片
4.查看压缩进度
查看压缩进度
5.超过500次的提示
超过500次的提示
-
lint-cleaner-plugin 删除未使用的资源,包括String字符串,颜色和尺寸。 这是一个Gradle插件,所以如何配置可以去github的源码上看。
插件源码地址:https://github.com/marcoRS/lint-cleaner-plugin
-
folding-plugin
布局文件分组的插件,该插件可自动将前缀相同的文件归类显示到同一文件目录下,但不会因此而移动文件或创建文件夹。
演示图如下:
folding-plugin 使用效果图
5
Android Studio主题相关:
-
Material Theme UI (https://plugins.jetbrains.com/plugin/8006-material-theme-ui)添加Material主题到你的Android Studio
示意图:
Material Theme UI 示意图
-
.Android Studio插件之sexy editor (设置AS代码编辑区的背景图)
进入设置界面 选择other Setting 下的Sexy Editor , 右侧 insert 一张或多张图片即可,上面的其他设置可以设置方位 间隔时间 透明度等等,设置完成后,要关闭打开的文件,重新打开项目文件即可在代码编辑区显示插入的图片,作为代码编辑区的背景图。
sexy editor 使用
6
UML工具
Code Iris(https://plugins.jetbrains.com/plugin/7324-code-iris)
快速分析布局以及代码包结构关系,并生成UML图
用法:选择module → 右键 → Create Code graph,然后右面工具栏会出现Code iris窗口,放大,点击窗口左下角图标可以选择要生成uml的包,下方有个滑动条,可以设置按包、类生成uml,并且有保存。
示意图:
Code Iris用法
SimpleUML(https://github.com/Jerey-Jobs/SimpleUML)
详情请点击 https://github.com/Jerey-Jobs/SimpleUML
7
打包、加固、混淆、Gradle编译、搜索
-
AndroidProguardPlugin(https://github.com/zhonghanwen/AndroidProguardPlugin)
一键生成项目混淆代码插件(不过目前可能有些第三方项目的混淆还未添加完全)
AndroidProguardPlugin 使用.gif
ApkMultiChannelPlugin(https://github.com/nukc/ApkMultiChannelPlugin)
这是一个为了方便 Android 多渠道打包的 Android Studio / IDEA 插件
使用方式:
1). 选择一个 apk 然后右键,点击 Build MultiChannel
开始使用
2). 配置签名信息,打包方式和渠道等
配置签名信息,打包方式和渠道等
配置说明:
Key Store Path: 签名文件的路径
Key Store Password: 签名文件的密码
Key Alias: **别名
Key Password: **密码
Zipalign Path: zipalign文件的路径(用于优化 apk;zipalign 可以确保所有未压缩的数据均是以相对于文件开始部分的特定字节对齐开始,这样可减少应用消耗的 RAM 量。)
Signer Version: 选择签名版本:apksigner 和 jarsigner
Build Type: 打包方式
Channels: 渠道列表,每行一个,最前面可加 > 或不加(保存信息的时候,程序会自行加上)
3). 开始打包
配置完成之后按 OK 就会开始进行渠道打包,文件会输出在选中的apk的当前目录下的channels目录中
开始打包
-
Codota(http://www.codota.com/)
搜索最好的Android代码。(Studio插件库搜索里面Codota直接下载)。它的搜索源,不仅只有Github,而且还有知名博客和开发者网站,让你搜索一个东西,不用在找上半天。
Codota官方介绍:
最好的代码实例,我们的抓取工具从大量的代码项目中抓取了大量的代码模式,你可以从这里搜索超过七百万精品代码实例。
使用示例图:
Codota使用示例图
-
intellij-java2smali(https://github.com/ollide/intellij-java2smali)
将Java & Kotlin编译成smali使用很简单:点击菜单栏Build → 然后点击 Compile to smali,OK了。
示例图:
intellij-java2smali示例图
-
gradle-cleaner-intellij-plugin(https://github.com/Softwee/gradle-cleaner-intellij-plugin)
强制清除延迟,不再需要Gradle任务。使用很简单,点击菜单栏的那个gradle的logo就可以了。
gradle-cleaner-intellij-plugin使用
-
freeline(https://github.com/alibaba/freeline)
Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品用法和很简单:点击导航栏的那个蓝底白色双折线圆形图标,就可以了。编译速度比Android Studio自带Instant Run快很多。
Freeline 用法
8
检测、Code Review、测试和调试
-
LeakCanary 帮助你在开发阶段方便的检测出内存泄露的问题,使用起来更简单方便。
LeakCanary中文使用说明请参考:https://www.liaohuqiu.net/cn/posts/leak-canary-read-me/
LeakCanary 检测结果示例图
-
JVM Debugger Memory View(https://blog.jetbrains.com/idea/2016/08/jvm-debugger-memory-view-for-intellij-idea/)
Android Studio和IDEA中一个很有用的内存调试插件,对检测内存泄漏很有帮助。详细可参考说一说Android Studio和IDEA中一个很有用的内存调试插件(https://zhuanlan.zhihu.com/p/25110433)一文。
示意图:
示意图
示意图2
-
reVu(https://plugins.jetbrains.com/plugin/3849-revu)
代码review神器,这个插件比较轻量,review记录保存在xml文件中,直接提交到git。这个插件比reviewclipse功能要好一些,使用很方便,比较轻,可以review任何文本文件,实现10以下的小团队用。
使用截图如下:
reVu使用截图
-
findBugs-IDEA(https://plugins.jetbrains.com/plugin/3847-findbugs-idea)
帮你一起找bug的一个插件,很老的一个插件了,具体的没用过。因为Android Studio也提供了代码审查的功能,点击菜单栏的Analyze → Inspect Code。
使用图解:
查找
查找结果
-
CheckStyle-IDEA(https://plugins.jetbrains.com/plugin/1065-checkstyle-idea)(49M,有点大)
检查代码风格的插件,比如像命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,你们可以遵从像Google Oracle 的Java 代码指南 ,当然也可以按照自己的规则来设置配置文件,从而有效约束你自己更好地遵循代码编写规范。
【tips】Android Studio自带有一个分析工具,点击菜单Analyze,里面有很多分析工具,比如Inspect Code这个功能就比CheckStyle强大很多。貌似一次只能打开一个类去分析。
CheckStyle-IDEA用法
-
JSONOnlineViewer
可实现直接在android studio中调试接口数据,可以选择请求类型,自定义请求头及请求体,json数据格式化后展示(2015年最后一次更新,2年没更新了,不推荐使用)。
借用JSONOnlineViewer官方介绍的截图:
使用截图
使用介绍
ADB WIFI 无需root就能wifi调试
ADB WIFI 首次使用要按图说的那样连接
ADB WIFI 以后启动就不需要设置了,直接点击快捷菜单那个机器人就OK了
在右侧面板可以设置连接控制
adb-idea 可以一键清理缓存并重启APP
搜索 adb-idea
adb-idea 使用
-
SQL Scout (SQLite Support)(https://plugins.jetbrains.com/plugin/8322-sqlscout-sqlite-support-)
在 Android Studio 上调试数据库 ( SQLite )
详细使用参考:在 Android Studio 上调试数据库 ( SQLite )(https://juejin.im/post/58e0d781a0bb9f0069ec08d3)
使用示意图:
SQL Scout 使用
-
Robotium Recorder(https://plugins.jetbrains.com/plugin/7513-robotium-recorder)
一个自动化测试框架,用于测试在模拟器和Android设备上原生的和混合的移动应用程序。Robotium Recorder可以让你记录测试案例和用户操作。你也可以查看不同Android活动时的系统功能和用户测试场景。(貌似现在是收费的,这个没用过,有兴趣朋友可以写一下心得体会,欢迎留言)
具体文档请查看:Robotium Recorder文档(https://github.com/robotiumtech/robotium)
留言有福利,具体规则请看
「帮你养成好习惯」