让ADB使用更方便,adb-idea插件升级版发布
起源
前段时间鸿洋推送的一篇《推荐3个有用的开源项目》文章中,推荐了一篇github上的ADB 用法大全 ,非常的全面,正如大全中提到的: "ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具."相信做安卓开发的肯定都会用到.它的功能是非常强大的.但是强大一般也意味着复杂.我除了少数经常使用到的命令外,其他的都不甚了解.使用上也不是非常的方便,比如安装一个apk文件到手机,我一般是先打开这个apk所在的目录,右键Git Bash Here,然后键入:adb install -r ./apkFile.apk
,虽然很有逼格,但是有没有更方便一点的实现方式呢?鸿洋的文章中也说道了一个现有的ADB整合插件adb-idea,这个插件我一直都有在用,特别是调试的时候.举个栗子:假如想在启动流程的代码中添加添加一个断点,(比如App启动的第一个Activity的onCreate()中),以前只能打了断点之后点击Debug 'app’按钮,重新走一遍编译流程才能进入断点.可是有时候是什么代码都没有改的.这一个编译流程完全没有必要.但是有了这个插件以后.只需要打好断点.Ctrl+Alt+Shift+A,选择ADB Restart App With Debugger,就可以跳过编译流程,直接启动进入断点了,非常的方便.鸿洋的文章中也提到希望有人能结合这2个优秀的项目做一个较为完备的提示插件.最近项目也比较轻松,私活也接不到,闲得时候都在鼓捣一些开发的辅助工具.正好我在插件這方面有一点点经验,站在巨人的肩膀上这种事我是喜欢干的.我forkadb-idea这个项目参照ADB 用法大全,经过断断续续的开发,在原有的功能上做了一些画蛇添足的扩展,做出来一看感觉和"提示插件"搭不上太大的关系,算是辅助插件吧.不尽完美,好歹还有点作用,现在推荐给大家,对使用姿势做一个简单的说明.
特性和使用
原插件功能
-
Uninstall App
-
Kill App
-
Start App
-
Restart App
-
Clear App Data
-
Clear App Data and Restart
这里的APP都是当前打开的项目.使用姿势参照项目主页:https://github.com/pbreault/adb-idea
扩展功能
应用管理
- 查看应用列表
- 卸载应用
- 清除应用数据与缓存
- 查看前台 Activity
- 查看正在运行的 Services
- 查看应用详细信息
- 查看应用安装路径
- 强制停止应用
- 使用 Monkey 进行压力测试,这个建议直接在命令行中使用,可以查看到实时输出信息,我的插件还不能.?
以上功能都整合到:Application management中
主要是看输出信息,不记得命令也没关系,包名也不用输了,点一点OK.输出的信息选中后Ctrl+C可以复制,右键可以清屏.除了Foreground Activity和Monkey Test外,都需要选中目标APP.
与应用交互
-
-
发送广播在我的8.1的真机上提示安全问题,不能正常发送,6.0好像是可以的.
以上功能都整合到:Application Interacting中.
查看设备信息
-
以上功能都整合到:Device information中:
在8.1上部分信息获取失败,提示权限拒绝.同样是Ctrl+C复制,右键清屏.
实用功能
-
选中apk文件,点击ok安装到手机,支持多选,支持覆盖安装.
-
首先在手机上让目标EditText获取焦点,让后ok就能推过去了,遗憾的是不支持汉字,空格会被去掉.
-
选择要保存到的文件夹:
点击OK,会自动打开保存到的文件夹,还方便吧?感觉超实用的.
-
-
选择要保存到的文件夹.
-
选择录制时长,最大180s:
- 录制完成后会自动打开保存目录:
存在的问题是有几秒钟的延迟…?目前还没有找到原因.
-
下载
现在向adb-idea的原作者发起了pull-request,但是我的代码写得这么烂,人家不一定收啊.暂时不打算自己发布到jetbrains的插件仓库,所以现在从仓库下载到的是原版,你可以下载我的版本,然后手动安装.
- 下载
最新发布的插件包
> File >Preferences(Settings) > Plugins > Install plugin from disk…
安装完成后,重启AS,点击Tools>ADB Idea就可以看到菜单了,要是觉得每次点击不方便的话,也可以设置相应功能的快捷键.
致谢
排名不分先后,都是一样的666
- 感谢 ADB Usage Complete / ADB 用法大全 仓库贡献者的收集整理
- 感谢 pbreault/adb-idea 的优秀开源插件
广告
最近都在做一些安卓开发的辅助工具,顺便打个广告哈.
- 一个继承你自己的接口和父类生成mvp模版代码的插件 : MvpAutoCodePlus
- 一个类似Postman的支持自定义加密传输的后台API接口调试工具. api-debugger
- 一个可以对kotlin代码排序的小插件. KotlinCodeSorter
仓库地址:https://github.com/longforus/adb-idea 欢迎大家试用,star,issue.你的star是我的动力.谢谢.