adb常用命令总结

版权声明:本文为博主原创文章,未经博主允许转载随意。 https://blog.csdn.net/kebi007/article/details/78024814

adb是android debug bridge的缩写,意思是android调试桥。是android的sdk中提供的一个很实用、提供测试效率的命令行工具,在工作中有些命令行的必须要熟记(知识的获取一部分就是要死记)。之前一些工具常用的命令行老是容易忘记,原因应该是没有系统性的总结。所以今天就总结一下开发中常用的一些ADB命令和一些使用无线调试时候总是常遇到的错误。

随笔带过一下:adb.exe 在android sdk文件夹的platform-tools下,把这个路径加入系统路径中即可在命令行中使用adb命令了。然后使用adb connect 即可连接android机器,platform-tools文件夹下还有其他的包括测试、调试、第三方工具、数据管理工具等。
如果需要无线连接android机器,需要在android机器上安装一个无线连接的程序,推荐adbWireless http://download.csdn.net/download/kebi007/9851848
这里写图片描述

我们首先要明白一点,这么多的命令,有的adb,有的是adb shell ,这两者有什么区别呢?答案是当然的,adb命令是adb程序自带的一些命令,
adb shell 是调用android 系统的命令,

1.adb shell查看手机目录

前提手机android已经获得root权限,并且成功连接adb。
输入adb shell
这里写图片描述
ls 显示手机的根目录下各个文件夹
这里写图片描述
cd /data/data:进入文件夹 pm list package 查看所有包
adb shell pm list -s 列出系统包
adb shell pm list -3 列出第三方包
adb shell pm list packages -f 查看包路径
adb shell pm list packages -d 列举禁用的包
adb shell pm list packages -e 列举可用的包
这里写图片描述

2.adb开启/结束服务

这里写图片描述

3.adb获取序列号、查看连接计算机的设备、查看log、帮助、重启机器、查看bug

  1. 查看连接计算机的设备 adb devices
  2. 查看adb 版本 adb version
  3. 获取序列号 adb get-serialno
  4. 查看日志 adb logcat
  5. 查看帮助 adb help
  6. 重启机器 adb reboot
  7. 重启到刷机模式bootloader adb reboot bootloader
  8. 查看bug adb bugreport

4.adb shell获取MAC地址、设备型号、查看android系统版本、屏幕分辨率、屏幕密度、查看服务、查看wifi密码

adb shell df 查看存储相关信息
adb shell cat /sys/class/net/wlan0/address 获取MAC地址
adb shell getprop ro.product.model 查看设备型号
adb shell getprop ro.build.version.release 查看Android系统版本
adb shell wm size 查看屏幕分辨率
adb shell wm density 查看屏幕密度
adb shell service 查看服务帮助信息
adb shell service list 查看服务列表
adb shell check servicename 检查服务是否存在
adb shell cat /data/misc/wifi/*.conf 查看wifi密码

5.adb shell 使用指定设备、断开连接

adb disconnect 断开指定的连接设备
adb connect 连接
当连接的时候有多个设备时,使用adb shell 命令就会出现错误,error than one device and emulator。所以这时候只能指定设备 执行命令行。
使用adb -s deviceId shell ** 执行adb shell命令
这里写图片描述

6.adb shell 安装卸载apk

安装目标apk在PC端,使用adb install
安装目标apk在Android设备端,使用adb shell pm instanll
保留数据和缓存文件,重新安装apk 使用adb install -r cto.apk
安装apk到sd卡 使用 adb install -s cto.apk
张林csdn
直接卸载:adb uninstall cnblogs.apk
卸载app但保留数据和缓存文件:adb uninstall -k cnblogs.apk

总结

1.在连接手机设备时经常会发生各种错误,刚开始的时候听麻烦的。比如连接的时候出现这样
这里写图片描述
这时候可以在手机上将adbwirless 重新开启、或者adb kill-server adb start-server
2.在连接vs中自带的虚拟机时,VS生成apk已经生成但是无法部署到模拟器上,原文链接http://bbs.csdn.net/topics/391491788?page=1
Validating enulator arguments….
determining if emulator is already running
emulator is already running
这里写图片描述

其实这是因为没有连接上模拟器,只需要将模拟器中的IP地址连接上去即可。成功连接即可完成部署。
3.adb pull 失败 Permission denied

C:\Users\zhanglin>adb pull
data/data/Cnblogs.XamarinAndroid.Cnblogs.XamarinAndroid3/shared_prefs/Issume.xml
failed to copy
data/data/Cnblogs.XamarinAndroid.Cnblogs.XamarinAndroid3/shared_prefs/Issume.xml’
to ‘./Issume.xml’: Permission denied

明明已经授权怎么会是这样呢,不知道怎么会是,查了百度
1.adb root 重新开启adbwirless就可以了 2.adb remount
这两个方法都可以试试,可以解决问题,参考原文http://www.apkbus.com/android-121320-1-1.html

4. adb server is out of date. killing… ADB server didn’t ACK daemon not running. starting it now on port 5037

查看这个端口被哪个进程占用了
netstat -ano | findstr “5037”
tasklist | findstr “19564”
taskkill /f /pid 19564
如图:
这里写图片描述
5.无法终止PID为xxxxx的进程
遇到了前面4的一个错误,5037端口被某个进程占用了,杀掉这个端口发现,无法终止这个进程,拒绝访问。
这里写图片描述
后来才想起来,手机的数据线在连,装了应用宝,这个端口被腾讯的tadb进程占用,打开“任务管理器”,kill了这个进程就可以连接了。
这里写图片描述
作者:张林
标题:adb常用命令总结
原文地址:http://blog.csdn.net/kebi007/article/details/78024814
转载随意注明出处
“`

猜你喜欢

转载自blog.csdn.net/kebi007/article/details/78024814