一、说明

adb的db是debug bridge而不是和gdb一样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但可以启到一些类似调试的功能。

下面就针对这些功能进行介绍,本文根据官方文档“http://adbshell.com/commands”整理而成。

这种烂大街的文章本不该再写了,但无耐每次自己用都得搜索筛选一藩,索性写下来权当就给自己看。

二、安装

如果安装了android sdk那么在sdk的platform-tools文件夹下就已经有adb了(使用时有点问题,我选择直接去下了一个)。

如果没有安装android sdk,那么也可以直接下载adb,解压即可使用。为了方便建议将解压到的目录加入环境变量。

三、使用

3.1 启动调试设备

模拟器----直接启动模拟手机

真机----通过usb线把手机接到电脑

3.2 查看当前有哪些设备

adb devices

第一列是设备序列号;其中“ip:port”组合的是模拟设备,“e6466a68”这种开头的是usb连接上来的真实手机。

如果只有一台设备,那么所有下面介绍的命令会自动在该设备上执行,如果有多个设备那么需要通过-s指定设备序列号不然会报“error: more than one device/emulator”(adb -s device_serial_number command形式)。

为了方便,在介绍后续命令前我将关掉上图中序列号为192.168.225.101:5555的模拟设备。

3.3 安装软件包

adb install /path/to/apk.apk

安装时有些手机可能要在手机上点击确认进行安装,不然会拒绝安装导致安装失败(报错:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user)。

如果报错“error: unknown host service”,那有可能是360手机助手等占用了连接,通过任务管理器将其关闭即可。

3.4 查看已安装的软件包

adb shell pm list packages

此时会列出手机中所有已安装的转件包,为了快速找到自己想要的软件的包名,可以使用grep/findstr等命令进行过滤。

3.5 卸载已安装软件包

卸载不能通过安装apk时的apk文件名进行卸卸,需要指定软件完整包名进行卸载,包名可通过3.4介绍的办法进行查找

adb uninstall package_name

3.6 查看apk数据存放位置

adb shell pm path package_name

3.7 清空apk数据

adb shell pm clear package_name

3.8 查看当前所在目录

adb shell pwd

3.9 查看根目录下有哪些文件(夹)

adb shell ls /

3.10 查看磁盘挂载情况

adb shell df -h

3.11 上传文件到手机

adb push /local/path/to/file/filename /phone/file/path/to/save

路径linux用斜框windows用反斜杠

3.12 从手机下载文件到本地

adb pull /phone/path/to/file/filename /local/file/path/to/save

3.13 执行其他linux命令

要执行诸如cd、rm、mkdir、touch、cp、mv等等命令,都使用以下格式即可;如要带参数和在shell中使用一样直接带后面即可

adb shell command parameters

当然也可以直接使用adb shell进入交互shell,不用每次都带abd shell头;退出使用exit。如下图所示:

不过有些命令使用adb shell形式和进入交互shell形式,输出是不一样的,没有深究。

3.14 查看系统参数

adb shell dumpsys system_parameter

参考:

https://blog.csdn.net/gaojinshan/article/details/9455193

最新文章

  1. iOS之按钮出现时加一个动画效果
  2. KBMMW 4.93.00 发布
  3. Facebook的体系结构分析---外文转载
  4. .Net Core+cenos7+Docker+Dockerfile 部署实践
  5. spring + myBatis 常见错误:SQL语法错误
  6. smarty模板原理和增删改查例题
  7. fedora 添加其他操作系统到 GRUB 2 菜单
  8. MySQL --slave-skip-errors
  9. spring beans源码解读之--XmlBeanFactory
  10. Unity3D基础学习 利用NGUI的Texture播放视频
  11. 使用spring的JavaMailSender发送邮件
  12. 【转】RAID 简介
  13. Left Jion等价SQL猜想验证
  14. L2-001 紧急救援 (25 分) (最短路+路径打印)
  15. winfrom程序文本框第一次选中问题
  16. Can't parse message of type "gazebo.msgs.Packet" because it is missing required fields: stamp, type
  17. 页面嵌入隐藏iframe实现导出功能
  18. Linux学习笔记04—IP配置
  19. Windbg简明教程(转)
  20. Proxy 动态代理 InvocationHandler CGLIB MD

热门文章

  1. 把一个List拆分为几个大小一样的List
  2. React Native实现微信分享
  3. _attribute_creature
  4. Integer的最大值
  5. Qt532界面.ZC测试
  6. SpringBoot整合Graylog3.0
  7. leecode第一百二十四题(二叉树中的最大路径和)
  8. SVN下载项目导入到eclipse中出现错误解决办法:
  9. angular2 脏检查机制
  10. Tqdm 进度条可视化模块