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 plain copy print ?
  1. adb devices

adb devices

2. 安装 apk


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

[java] view plain copy print ?
  1. adb install <path_to_apk>

adb install <path_to_apk>

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


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

[java] view plain copy print ?
  1. adb pull <remote> <local>

adb pull <remote> <local>

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


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

[java] view plain copy print ?
  1. adb push <local> <remote>

adb push <local> <remote>

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

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

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

[java] view plain copy print ?
  1. adb push /home/mark/mPro/test /sdcard/xx

adb push /home/mark/mPro/test /sdcard/xx

5. 查看 logcat

[java] view plain copy print ?
  1. adb logcat

adb logcat

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

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


例如下面的例子:

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

[java] view plain copy print ?
  1. adb logcat -s ClientAct:D

adb logcat -s ClientAct:D

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

[java] view plain copy print ?
  1. adb logcat -s ClientAct:D TAG2:D TAG3:D

adb logcat -s ClientAct:D TAG2:D TAG3:D

6. adb -d、adb -e


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

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

[java] view plain copy print ?
  1. -d 直接连接USB设备
  2. -e 直接连接模拟器

-d 直接连接USB设备 -e 直接连接模拟器

7. 进入shell


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

[java] view plain copy print ?
  1. adb shell

adb shell

这里提出一个问题:

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


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

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

[java] view plain copy print ?
  1. adb devices


获得设备的名称,如下:

[java] view plain copy print ?
  1. emulator-5554 device
  2. emulator-5556 device


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

[java] view plain copy print ?
  1. adb -s 序列号


来操作。比如:

[java] view plain copy print ?
  1. adb -s emulator-5556 logcat -s mark:D


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

[java] view plain copy print ?
  1. adb [-e] 或者[-d] get-serialno


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

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

[java] view plain copy print ?
  1. adb help

adb help

注意:这些命令都是在adb下用,而不是在shell中用。

更多相关文章

  1. Android 交叉编译 Linux 可执行文件
  2. Android 工程中的 R.java 文件丢失后如何重新生成
  3. 【Android Developers Training】 25. 保存文件
  4. Android本地数据存储之.txt文件存储读写
  5. 命令生成和运行android项目

随机推荐

  1. 2012 年新推出的 Android(非游戏)应用中,哪
  2. android视频监控的解决方案探讨
  3. 使用HTML来生产Android界面
  4. android混淆代码bug跟踪
  5. android onPause()和onStop()区别
  6. Android(安卓)WebView内容宽度自适应
  7. Android(安卓)动画有拖影
  8. Android捕获全局异常信息并实现上传
  9. Android事件分发机制学习笔记
  10. android命令