android adb

adb命令下pull的作用是从手机端向电脑端拷文件。

命令:adb pull /sdcard/**.txt   D:\                          说明:将手机卡中的某个文本文件复制到电脑D盘

push的作用和pull正好相反, 是从电脑端向手机复制文件的。下面是例子

adb push d:\lzd.doc /mnt/sdcard/jaj_training/fingerprint/

android 测试开发(类似 Java 的 JUnit)是一个好办法,但是看 logcat 才是“王道”。

为什么这样说呢,如果你看过 android 源码就应该知道里面有很多类似 Log** 这样的语句。

所以看 logcat 会更加快速、直接的找到问题所在,从而加快您的开发。

 

当然,android为我们提供了一个好工具adb,全称 Android Debug Bridge。

下面结合自己在项目中的经历,跟大家分享一下 adb 这个工具。

首先保证在控制台下敲 adb 会出来很多信息,这说明你的环境变量配置 ok,在任何目录下你都可以使用adb命令。

如果没有的话,你必须进入 adb 所在目录,再去使用 adb 命令。

该命令在 android 安装包 platform-tools 下面。

 

1. 查询有几个 android 设备连接 adb server

 

 

[java] view plaincopy
 
  1. adb devices 

 

 

[java] view plaincopy
 
  1. adb devices  

 

 

 

2. 安装 apk

 

<path_to_apk>表示你的apk文件路径(如/home/../*.apk)。

 

[java] view plaincopy
 
  1. adb install <path_to_apk> 

 

 

[java] view plaincopy
 
  1. adb install <path_to_apk>  

 

 

 

3. 从设备复制文件到本地

 

<remote>表示手机中的文件夹或者文件的路径, <local>表示手机中的文件夹或者文件的路径

 

[java] view plaincopy
 
  1. adb pull <remote> <local> 

 

 

[java] view plaincopy
 
  1. adb pull <remote> <local>  

 

 

 

4. 从设备复制文件到本地

 

<remote>表示手机中的文件夹或者文件的路径, <local>表示手机中的文件夹或者文件的路径

 

[java] view plaincopy
 
  1. adb push <local> <remote> 

 

 

[java] view plaincopy
 
  1. adb push <local> <remote>  

 

 

 

这里需要注意,如果复制文件夹会把文件夹中的文件递归复制。

如下面例子,将 /home/mark/mPro/下面的文件夹test复制到/sdcard下面的xx目录下。

如果不指定xx,那么test下面的东西会乱七八糟的放在sdcard中。

 

[java] view plaincopy
 
  1. adb push /home/mark/mPro/test /sdcard/xx 

 

 

[java] view plaincopy
 
  1. adb push /home/mark/mPro/test /sdcard/xx  

 

 

 

5. 查看 logcat

 

[java] view plaincopy
 
  1. adb logcat 

 

 

[java] view plaincopy
 
  1. adb logcat  

 

 

 

这种查看,控制台会把所有信息打印出来。

如果想更加小范围的查看logcat,比如自己定义的Tag.

 

例如下面的例子:

ClientAct是自定义的TAG,然后在Log.d("TAG", "*****info*****")方法中使用,查看该信息的命令:

 

[java] view plaincopy
 
  1. adb logcat -s ClientAct:D 

 

 

[java] view plaincopy
 
  1. adb logcat -s ClientAct:D  

 

 

 

如果想一次多看几个Tag对应的Logcat,可以这样:

 

[java] view plaincopy
 
  1. adb logcat -s ClientAct:D TAG2:D TAG3:D 

 

 

[java] view plaincopy
 
  1. adb logcat -s ClientAct:D TAG2:D TAG3:D  

 

 

 

6. adb -d、adb -e

 

如果你现在即启动了手机设备,又启动了模拟器,然而相查看手机的logcat,这两个参数就可以帮助你。

在上面的例子中,在adb后面加上参数-d或者-e就可以查看手机设备或者模拟器打印logcat,但是你只启动一个设备就没有必要加参数啦!!

 

[java] view plaincopy
 
  1. -d  直接连接USB设备 
  2. -e  直接连接模拟器 

 

 

[java] view plaincopy
 
  1. -d  直接连接USB设备  
  2. -e  直接连接模拟器  

 

 

 

7. 进入shell

 

这样,你就可以像在 linux 下面敲你的命令那么爽,可惜 android支持的命令很少!

 

[java] view plaincopy
 
  1. adb shell 

 

 

[java] view plaincopy
 
  1. adb shell  

 

 

 

这里提出一个问题:

假如你现在电脑上已经启动两个模拟器、并且还接入了两个android手机,这时如何操作设备。

 

也许,你会说关闭所有不需要操作的设备。

呵呵,这的确是一个方法,但是还有一个办法。

 

[java] view plaincopy
 
  1. adb devices 
[java] view plaincopy
 
  1. adb devices  


获得设备的名称,如下:

 

 

[java] view plaincopy
 
  1. emulator-5554   device 
  2. emulator-5556   device 
[java] view plaincopy
 
  1. emulator-5554   device  
  2. emulator-5556   device  


其实 emulator-5556 就是该设备的 serial,那麽我们可以使用:

 

 

[java] view plaincopy
 
  1. adb -s 序列号  
[java] view plaincopy
 
  1. adb -s 序列号   


来操作。比如:

 

 

[java] view plaincopy
 
  1. adb -s emulator-5556 logcat -s mark:D 
[java] view plaincopy
 
  1. adb -s emulator-5556 logcat -s mark:D  

 

 

另外,可以使用下面命令获得 serialNum

 

[java] view plaincopy
 
  1. adb [-e] 或者[-d] get-serialno 
[java] view plaincopy
 
  1. adb [-e] 或者[-d] get-serialno  


 

 http://blog.csdn.net/sir_zeng/article/details/8086780

 

关于adb的其他命令, sdk 文档的 dev guide 部分详细介绍过 adb.

如果你在使用时忘记这些命令的话,就使用下面的:

 

[java] view plaincopy
 
  1. adb help 

 

 

[java] view plaincopy
 
  1. adb help  

 

posted @ 2015-11-18 16:50  nick_leeli  阅读(167)  评论(0编辑  收藏  举报