在android开发过程中,经常需要看一些打印信息。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
2. 安装apk
<path_to_apk>表示你的apk文件路径(如/home/../*.apk)。
3. 从设备复制文件到本地
<remote>表示手机中的文件夹或者文件的路径, <local>表示手机中的文件夹或者文件的路径
4. 从设备复制文件到本地
<remote>表示手机中的文件夹或者文件的路径, <local>表示手机中的文件夹或者文件的路径
这里需要注意,如果复制文件夹会把文件夹中的文件递归复制。如下面例子,将/home/mark/mPro/下面的文件夹test复制到/sdcard下面的xx目录下。如果不指定xx,那么test下面的东西会乱七八糟的放在sdcard中。
5. 查看logcat
这种查看,控制台会把所有信息打印出来。如果想更加小范围的查看logcat,比如自己定义的Tag,例如下面的例子,ClientAct是自定义的TAG,然后在Log.d("TAG", "*****info*****")方法中使用,查看该信息的命令:
如果想一次多看几个Tag对应的Logcat,可以这样:
6. adb -d、adb -e
如果你现在即启动了手机设备,又启动了模拟器,然而相查看手机的logcat,这两个参数就可以帮助你。在上面的例子中,在adb后面加上参数-d或者-e就可以查看手机设备或者模拟器打印logcat,但是你只启动一个设备就没有必要加参数啦!!
7. 进入shell
这样,你就可以像在linux下面敲你的命令那么爽,可惜android支持的命令很少!
这里提出一个问题,假如你现在电脑上已经启动两个模拟器、并且还接入了两个android手机,这时如何操作设备。也许,你会说关闭所有不需要操作的设备。
呵呵,这的确是一个方法,但是还有一个办法。
获得设备的名称,如下:
其实emulator-5556 就是该设备的 serial,那麽我们可以使用
来操作。比如:
关于adb的其他命令,用到的不多,不过sdk文档的dev guide部分详细介绍过adb。如果你在使用时忘记这些命令的话,就使用下面的:
ok,收工!!!