您的位置:首页 > 其它

[置顶] adb常用命令总结

2017-09-18 22:45 751 查看
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

查看连接计算机的设备 adb devices

查看adb 版本 adb version

获取序列号 adb get-serialno

查看日志 adb logcat

查看帮助 adb help

重启机器 adb reboot

重启到刷机模式bootloader adb reboot bootloader

查看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



直接卸载: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

转载随意注明出处

“`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: