让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个优秀的项目做一个较为完备的提示插件.最近项目也比较轻松,私活也接不到,闲的时候都在鼓捣一些开发的辅助工具.正好我在插件這方面有一点点的经验,站在巨人的肩膀上这种事我是喜欢干的.

在这里插入图片描述

我fork adb-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.

与应用交互

  • 启动应用/ 调起 Activity
在这里插入图片描述
  • 调起 Service

    在这里插入图片描述
  • 发送广播

    在这里插入图片描述

    发送广播在我的8.1的真机上提示安全问题,不能正常发送,6.0好像是可以的.

以上功能都整合到:Application Interacting中.

查看设备信息

  • 型号

  • 电池状况

  • 屏幕分辨率

  • 屏幕密度

  • 显示屏参数

  • android_id

  • IMEI

  • Android 系统版本

  • IP 地址

  • Mac 地址

  • CPU 信息

  • 内存信息

  • 更多硬件与系统属性

    以上功能都整合到:Device information中:

    在这里插入图片描述

    在8.1上部分信息获取失败,提示权限拒绝.同样是Ctrl+C复制,右键清屏.

实用功能

  • 安装 APK

    在这里插入图片描述

    选中apk文件,点击ok安装到手机,支持多选,支持覆盖安装.

  • 输入文本

    在这里插入图片描述

    首先在手机上让目标EditText获取焦点,让后ok就能推过去了,遗憾的是不支持汉字,空格会被去掉.需要注意的是在部分输入法状态下,并不会直接输入,还需要点一下.


    在这里插入图片描述
  • 屏幕截图

    选择要保存到的文件夹:


    在这里插入图片描述

    点击OK,会自动打开保存到的文件夹,还方便吧?感觉超实用的.

    在这里插入图片描述
  • 录制屏幕

    1. 点击start开始录制,Windows和Linux都是自动开始的,但是macOS不能自动开始录制,需要把已经放到剪贴板的命令粘贴到命令行中回车开始.昨天整整研究一天也没有发现macOS能从Runtime或者ProcessBuilder启动命令行然后执行一个命令的方法,如果你知道的话请告诉我,谢谢.按Ctrl+C停止录制.

      在这里插入图片描述

      在这里插入图片描述
    2. 录制完成后点击Pull to local->选择保存路径,拉取到本地,视频默认保存在手机的/sdcard/中,勾选delete会删除sdcard中的视频:

      在这里插入图片描述
    3. 拉取完成后会自动打开保存目录:

      在这里插入图片描述

下载

现在向adb-idea的原作者发起了pull-request,但是我的代码写得这么烂,人家不一定收啊.暂时不打算自己发布到jetbrains的插件仓库,所以现在从仓库下载到的是原版,你可以下载我的版本,然后手动安装.

  • 下载最新发布的插件包 > File >Preferences(Settings) > Plugins > Install plugin from disk...

安装完成后,重启AS,点击Tools>ADB Idea就可以看到菜单了,要是觉得每次点击不方便的话,也可以设置相应功能的快捷键.


在这里插入图片描述

默认的快捷Popup快捷键是Ctrl+Alt+Shift+A,打开后就可以按数字键选择命令了.


在这里插入图片描述

在这里插入图片描述

致谢

  • 感谢 ADB Usage Complete / ADB 用法大全 仓库贡献者的收集整理
  • 感谢 pbreault/adb-idea 的优秀开源插件
  • 感谢鸿洋大神的试用测试和修改建议.开发之初因为偷懒和自己也一直都在Windows平台开发,就没有太多的关注其他平台,导致1.6版本的部分功能在其他平台上失效.周末抽时间搭建虚拟机进行了Linux(Ubuntu 18.10)和macOS(10.13)的测试适配.因为这2个平台了解都不深入,要是这2个平台的用户在使用中遇到什么问题,请联系我.

广告

最近都在做一些安卓开发的辅助工具,顺便打个广告哈.

  • 一个继承你自己的接口和父类生成mvp模版代码的插件 : MvpAutoCodePlus
  • 一个类似Postman的支持自定义加密传输的后台API接口调试工具. api-debugger
  • 一个可以对kotlin代码排序的小插件. KotlinCodeSorter
  • 一个可以预览项目中图片的超实用插件,我添加了.webp格式的支持 IconViewer

都在我的专栏里面:https://blog.csdn.net/column/details/27729.html

仓库地址:https://github.com/longforus/adb-idea 欢迎大家试用,star,issue.你的star是我的动力.谢谢.

你可能感兴趣的:(让ADB使用更方便,adb-idea插件升级版发布)