【自己解决方法】

在~/.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

【补充】 手动修改adb devices显示的设备串号

手机开发人员,很多时候一台PC上需要同时使用adb 连接同一型号产品的多个设备,由于很多时候usb serial number是一样的从而导致同一台PC不能同时连接多个相同设备,比如有些偶现的问题需要通过大样本量进行测试的时候。
1. 首先手机终端需要有root权限,然后通过adb pull 将/data/usb_serial_num.txt从手机中拖到PC中,然后修改其中对应的数字

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命令有助于提高工作效率。

  1. 获取序列号:

    adb get-serialno
  2. 查看连接计算机的设备:

    adb devices
  3. 重启机器:

    adb reboot
  4. 重启到bootloader,即刷机模式:

    adb reboot bootloader
  5. 重启到recovery,即恢复模式:

    adb reboot recovery
  6. 查看log:

    adb logcat
  7. 终止adb服务进程:

    adb kill-server
  8. 重启adb服务进程:

    adb start-server 
  9. 获取机器MAC地址:

    adb shell  cat /sys/class/net/wlan0/address
  10. 获取CPU序列号:

    adb shell cat /proc/cpuinfo
  11. 安装APK:

    adb install <apkfile> //比如:adb install baidu.apk
  12. 保留数据和缓存文件,重新安装apk:

    adb install -r <apkfile> //比如:adb install -r baidu.apk
  13. 安装apk到sd卡:

    adb install -s <apkfile> // 比如:adb install -s baidu.apk
  14. 卸载APK:

    adb uninstall <package> //比如:adb uninstall com.baidu.search
  15. 卸载app但保留数据和缓存文件:

    adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
  16. 启动应用:

    adb shell am start -n <package_name>/.<activity_class_name> 
  17. 查看设备cpu和内存占用情况:

    adb shell top
  18. 查看占用内存前6的app:

    adb shell top -m 6
  19. 刷新一次内存信息,然后返回:

    adb shell top -n 1
  20. 查询各进程内存使用情况:

    adb shell procrank
  21. 杀死一个进程:

    adb shell kill [pid] 
  22. 查看进程列表:

    adb shell ps
  23. 查看指定进程状态:

    adb shell ps -x [PID] 
  24. 查看后台services信息:

    adb shell service list 
  25. 查看当前内存占用:

    adb shell cat /proc/meminfo
  26. 查看IO内存分区:

    adb shell cat /proc/iomem
  27. 将system分区重新挂载为可读写分区:

    adb remount
  28. 从本地复制文件到设备:

    adb push <local> <remote> 
  29. 从设备复制文件到本地:

    adb pull <remote> <local> 
  30. 列出目录下的文件和文件夹,等同于dos中的dir命令:

    adb shell ls
  31. 进入文件夹,等同于dos中的cd 命令:

    adb shell cd <folder> 
  32. 重命名文件:

    adb shell rename path/oldfilename path/newfilename 
  33. 删除system/avi.apk:

    adb shell rm /system/avi.apk
  34. 删除文件夹及其下面所有文件:

    adb shell rm -r <folder> 
  35. 移动文件:

    adb shell mv path/file newpath/file
  36. 设置文件权限:

    adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
  37. 新建文件夹:

    adb shell mkdir path/foldelname
  38. 查看文件内容:

    adb shell cat <file> 
  39. 查看wifi密码:

    adb shell cat /data/misc/wifi/*.conf 
  40. 清除log缓存:

    adb logcat -c
  41. 查看bug报告:

    adb bugreport
  42. 获取设备名称:

    adb shell cat /system/build.prop
  43. 查看ADB帮助:

    adb help
  44. 跑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识别设备的解决方法的更多相关文章

  1. adb devices 找不到设备的解决方法

    1.开启adb 2.查看设备时的报错 问题1:cannot connect  to daemon 解决方法:找到占据5037端口的进城,并在“任务管理器”中依据“PID”查找到,解决进程 问题2:手机 ...

  2. Android ADB 命令链接模拟器出现 daemon not running 解决方法

    用adb命令链接远程模拟器 有时候会遇到如下问题: C:Documents and SettingsAdministrator>adb connect 192.168.0.183 * daemo ...

  3. ADB Server Didn’t ACK ,failed to Start Daemon 解决方法

    解决方法如下: 1.adb nodaemon server 查看不能执行的原因,输出: cannot bind ‘tcp:5037’ 2.定位到了是端口的问题!是5037端口被占用了! 3.netst ...

  4. 在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 ...

  5. windows无法停用“Android Composite Interface”设备的解决方法

    遇到这个问题时,解决方法如下: 打开设备管理器 -> 进程 -> 找到 adb.exe -> 右击选择结束进程 -> 然后重新弹出Android设备

  6. Centos下找不到eth0设备的解决方法

    问题描述: ifconfig命令无法找到eth0设备,且/etc/sysconfig/network-scripts/中只有ifcfg-lo文件,而没有ifcfg-eth0. 临时解决方法一: 使用命 ...

  7. Windows Server 2003下ASP.NET无法识别IE11的解决方法

    由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通过User-Agent来识别浏览器的程序,都相应的出现了无法识别IE11的情况.(普通用户端则可以通过这个方法来进行设置.) ...

  8. Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】

    http://www.iefans.net/windows-server-2003-asp-net-ie11-shibie/ 由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通 ...

  9. gdb与adb相关命令总结

    在使用gdb与adb时需要注意一些类似于权限的问题,比如设备需要root,设备root后命令行下需要 切换用户到root用户下操作,又比如相关的目录或文件是否有足够的权限等等,总结为如下: (以下示例 ...

随机推荐

  1. SCP对拷如何连接指定端口远程主机

    SCP对拷如何连接指定端口(非22端口)的远程主机 scp  -P  远程端口号  本机待拷贝文件路径 远程主机用户名@远程主机地址:远程主机目的路径 注意:  1.  参数-P 的位置一定要紧跟在s ...

  2. 纯css实现div中未知尺寸图片的垂直居中

    1.淘宝的方法 在曾经的"淘宝UED招聘"中有这样一道题目: “使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中.” 当然出题并不是 ...

  3. windows核心编程

    第一章 函数返回值: void:不可能失败.极少数会返回VOID BOOL:失败返回0 HANDLE:失败会返回NULL 或INVALID_HANDLE_VALUE PVOID:失败返回NULL wa ...

  4. docker-ce-17.09 数据卷和数据卷容器

    docker容器中管理数据两种方式:1.数据卷(Data Volumes)2.数据卷容器(Data Volume Dontainers) 一.数据卷特性:1.数据卷可以在容器之间共享和重用2.对数据卷 ...

  5. 使用SQL语句创建数据库2——创建多个数据库文件和多个日志文件

    在matser数据库下新建查询,输入的命令如下: USE master GOCREATE DATABASE E_MarketON PRIMARY--主文件组( NAME ='E_Market_data ...

  6. jquery分页插件精选

    1.最新的分页控件:Mricode.Pagination(推荐) https://github.com/mricle/Mricode.Pagination 2.Jquery Pagination Pl ...

  7. django中的时区设置TIME_ZONE,USE_TZ

    Django如果开启了Time Zone功能,则所有的存储和内部处理,甚至包括直接print显示全都是UTC的.只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换. 所以我建议后台 ...

  8. java基础之—类加载器

    要了解类加载器先要了解类的加载 一.类的加载(类的加载概述) 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 1.加载 就是指将clas ...

  9. BZOJ1856或洛谷1641 [SCOI2010]生成字符串

    BZOJ原题链接 洛谷原题链接 可以将\(1\)和\(0\)的个数和看成是\(x\)轴坐标,个数差看成\(y\)轴坐标. 向右上角走,即\(x\)轴坐标\(+1\),\(y\)轴坐标\(+1\),表示 ...

  10. 1.2 Java中的注释

    Eclipse中的快捷键  单行注释   Ctrl+/ 多行注释    Ctrl+Shift+/  文档注释    Shift +Alt+j /** * @author Lenovo * 文档注释 * ...