adb 相关命令 以及无法adb识别设备的解决方法
【自己解决方法】
在~/.android/文件夹下面新建adb_usb.ini文件。里面写入设备的idVendor号(0x加上四位数字),然后输入 adb kill-server, 然后adb devices即可
Bus 002 Device 022: ID 12d1:107e Huawei Technologies Co., Ltd.【前面的12d1是idVendor号,后面的107e是idProduct】
关于idVendor的获取,参考如下文章;
http://www.linuxidc.com/Linux/2014-01/94931.htm
http://jingyan.baidu.com/article/ce09321b5b76642bff858f31.html
=====================================================
adb 相关命令
【最全的命令教程】https://github.com/mzlogin/awesome-adb
2. 将修改后的usb_serial_num.txt文件再通过adb push 将该文件放入到手机/data目录下即可
3. 只要将需要通过adb 方式连接到同一台PC的所有终端usb_serail_num.txt中的数字字串不一样即可
4. 通过adb -s 设备串号 的方式在同一台PC上连接多台手机终端
如下命令中 19761202为修改后的usb serial number
adb -s 19761202 shell
adb -s 19761202 logcat
adb -s 19761203 logcat
adb -s 19761204 logcat
ADB很强大,记住一些ADB命令有助于提高工作效率。
获取序列号:
adb get-serialno
查看连接计算机的设备:
adb devices
重启机器:
adb reboot
重启到bootloader,即刷机模式:
adb reboot bootloader
重启到recovery,即恢复模式:
adb reboot recovery
查看log:
adb logcat
终止adb服务进程:
adb kill-server
重启adb服务进程:
adb start-server
获取机器MAC地址:
adb shell cat /sys/class/net/wlan0/address
获取CPU序列号:
adb shell cat /proc/cpuinfo
安装APK:
adb install <apkfile> //比如:adb install baidu.apk
保留数据和缓存文件,重新安装apk:
adb install -r <apkfile> //比如:adb install -r baidu.apk
安装apk到sd卡:
adb install -s <apkfile> // 比如:adb install -s baidu.apk
卸载APK:
adb uninstall <package> //比如:adb uninstall com.baidu.search
卸载app但保留数据和缓存文件:
adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
启动应用:
adb shell am start -n <package_name>/.<activity_class_name>
查看设备cpu和内存占用情况:
adb shell top
查看占用内存前6的app:
adb shell top -m 6
刷新一次内存信息,然后返回:
adb shell top -n 1
查询各进程内存使用情况:
adb shell procrank
杀死一个进程:
adb shell kill [pid]
查看进程列表:
adb shell ps
查看指定进程状态:
adb shell ps -x [PID]
查看后台services信息:
adb shell service list
查看当前内存占用:
adb shell cat /proc/meminfo
查看IO内存分区:
adb shell cat /proc/iomem
将system分区重新挂载为可读写分区:
adb remount
从本地复制文件到设备:
adb push <local> <remote>
从设备复制文件到本地:
adb pull <remote> <local>
列出目录下的文件和文件夹,等同于dos中的dir命令:
adb shell ls
进入文件夹,等同于dos中的cd 命令:
adb shell cd <folder>
重命名文件:
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:
adb shell rm -r <folder>
移动文件:
adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:
adb shell mkdir path/foldelname
查看文件内容:
adb shell cat <file>
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
清除log缓存:
adb logcat -c
查看bug报告:
adb bugreport
获取设备名称:
adb shell cat /system/build.prop
查看ADB帮助:
adb help
跑monkey:
adb shell monkey -v -p your.package.name 500
来自:http://zmywly8866.github.io/2015/01/24/all-adb-command.html
说到 ADB 大家应该都不陌生,即 Android Debug Bridge,Android调试桥,身为 Android 开发的我们,熟练使用 ADB 命令将会大大提升我们的开发效率, ADB 的命令有很多,今天就来总结下我在开发常用到的一些 ADB 命令。
查看版本
ADB 的安装这里就不多说了,输入以下命令有如下提示就证明你环境ok,否则自行网上搜索解决下。
$ adb version
Android Debug Bridge version 1.0.36
Revision 8f855a3d9b35-android
查看连接设备
输入以下命令可以查询已连接的设备与模拟器:
$ adb devices
List of devices attached
02ae0c1021089daf device
安装一个apk,执行以下命令:
adb install <apkfile>
// 如: adb install demo.apk
如果不是当前目录,则后面要跟路径名:
adb install /Users/storm/temp/demo.apk
保留数据和缓存文件,重新安装apk:
adb install -r demo.apk
安装apk到sd卡:
adb install -s demo.apk
卸载
直接卸载:
adb uninstall <package>
// 如:adb uninstall com.stormzhang.demo
卸载 app 但保留数据和缓存文件:
adb uninstall -k com.stormzhang.demo
启动/停止 Server
一般来说,下面两个命令基本不会用到,因为只要设备连接正确,会自动启动 adb server 的,不过大家也需要知道这俩命令:
启动 adb server :
adb start-server
停止 adb server :
adb kill-server
列出手机装的所有app的包名:
adb shell pm list packages
列出系统应用的所有包名:
adb shell pm list packages -s
列出除了系统应用的第三方应用包名:
adb shell pm list packages -3
使用 grep 来过滤:
adb shell pm list packages | grep qq
清除应用数据与缓存
有些时候我们测试需要清除数据与缓存,则需要用到如下命令:
adb shell pm clear <packagename>
// 如:adb shell pm clear com.stormzhang.demo
启动应用
如果我们想要通过 adb 来启动应用
adb shell am start -n com.stormzhang.demo/.ui.SplashActivity
强制停止应用
有些时候应用卡死了,需要强制停止,则执行以下命令:
adb shell am force-stop <packagename>
// 如:adb shell am force-stop cn.androidstar.demo
查看日志
adb logcat
重启
adb reboot
获取序列号
$adb get-serialno
02ae0c1021089daf
获取 MAC 地址
$adb shell cat /sys/class/net/wlan0/address
bc:f5:ac:f9:f7:c8
查看设备型号
$adb shell getprop ro.product.model
Nexus 5
查看 Android 系统版本
$adb shell getprop ro.build.version.release
7.0.1
查看屏幕分辨率
$adb shell wm size
Physical size: 1080×1920
查看屏幕密度
$adb shell wm density
Physical density: 480
关于 ADB 的命令有太多,以上只列了一些我比较常用的命令,关于更多的命令可以见这里:
https://github.com/mzlogin/awesome-adb
ADB IDEA
以上命令你们觉得是不是很方便了?但是我们在用 Android Studio 开发的时候如果有一款插件是不是更方便了?所以这里推荐一个 AS 插件 ADB IDEA ,装了这款插件可以直接在 AS 中快速操作一些 ADB 命令,非常方便。
安装完成后,快捷键直接唤起:
Mac OSX: Ctrl+Shift+A
Windows/Linux: Ctrl+Alt+Shift+A
直接看下截图:

原文地址:http://www.androidstar.cn/adb操作命令详解及大全/
adb 相关命令 以及无法adb识别设备的解决方法的更多相关文章
- adb devices 找不到设备的解决方法
1.开启adb 2.查看设备时的报错 问题1:cannot connect to daemon 解决方法:找到占据5037端口的进城,并在“任务管理器”中依据“PID”查找到,解决进程 问题2:手机 ...
- Android ADB 命令链接模拟器出现 daemon not running 解决方法
用adb命令链接远程模拟器 有时候会遇到如下问题: C:Documents and SettingsAdministrator>adb connect 192.168.0.183 * daemo ...
- ADB Server Didn’t ACK ,failed to Start Daemon 解决方法
解决方法如下: 1.adb nodaemon server 查看不能执行的原因,输出: cannot bind ‘tcp:5037’ 2.定位到了是端口的问题!是5037端口被占用了! 3.netst ...
- 在Eclipse中执行Andorid test preject提示The connection to adb is down, and a severe error has occured.解决方法
启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有ad ...
- windows无法停用“Android Composite Interface”设备的解决方法
遇到这个问题时,解决方法如下: 打开设备管理器 -> 进程 -> 找到 adb.exe -> 右击选择结束进程 -> 然后重新弹出Android设备
- Centos下找不到eth0设备的解决方法
问题描述: ifconfig命令无法找到eth0设备,且/etc/sysconfig/network-scripts/中只有ifcfg-lo文件,而没有ifcfg-eth0. 临时解决方法一: 使用命 ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法
由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通过User-Agent来识别浏览器的程序,都相应的出现了无法识别IE11的情况.(普通用户端则可以通过这个方法来进行设置.) ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】
http://www.iefans.net/windows-server-2003-asp-net-ie11-shibie/ 由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通 ...
- gdb与adb相关命令总结
在使用gdb与adb时需要注意一些类似于权限的问题,比如设备需要root,设备root后命令行下需要 切换用户到root用户下操作,又比如相关的目录或文件是否有足够的权限等等,总结为如下: (以下示例 ...
随机推荐
- YII2中如何自定义全局函数
有些时候我们需要自定义一些全局函数来完成我们的工作. 方法一: 直接写在入口文件处 <?php // comment out the following two lines when deplo ...
- python 3.6.5 sys模块和os模块
1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 ...
- Eclipse中logcat过滤器的使用
logcat里信息繁多,用过滤器可以方便快捷的找到我们要查找的信息. 我们可以在打开Eclipse之后,选择Window –> Show View ->Other菜单,然后在Android ...
- iOS.Crash.Case-[__NSArrayM objectForKeyedSubscript:]
1. [__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance - source code and s ...
- web框架--MVC、MTV
一.MVC框架: MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:[1] Model(模型)表示应用程序核心(比如数据库记 ...
- BZOJ1855或洛谷2569 [SCOI2010]股票交易
一道单调队列优化\(DP\) BZOJ原题链接 洛谷原题链接 朴素的\(DP\)方程并不难想. 定义\(f[i][j]\)表示到第\(i\)天,手上持有\(j\)股时的最大收益. 转移方程可以分成四个 ...
- MySQL单行注释和多行释
单行注释:# 或者 -- 多行注释:/* ... */ 使用 # 时,# 和注释的内容之间可以没有空格 使用 -- 时,-- 和注释内容之间必须有空格
- @1-5使用pandas保存豆瓣短评数据
使用pandas保存豆瓣短评数据 Python爬虫(入门+进阶) DC学院 本节课程的内容是介绍open函数和pandas两种保存已爬取的数据的方法,并通过实际例子使用pandas保存数据. ...
- linux-ubuntu 下R无法安装rjava模块的原因及解决方案
错误信息: 没有 /usr/lib/jvm/default-java/jre/bin/java 原因: R找不到java作为依赖 解决方案: (1) 如果你没有安装java,请先安装java. (2) ...
- 简易非阻塞http服务器
说明 需要理解阻塞和非阻塞的区别,特别要注意非阻塞和异步不是一个概念,这个很容易弄错.云盘里面netty的书会讲这几个方面的区别,nodejs深入浅出关于异步编程章节里面 ...