adb,logcat使用及对Android设备的操作

2017-05-26  本文已影响130人  ytxhao

adb,logcat使用及对Android设备的操作

adb常用命令

$ adb -s 172.17.159.159:5555 install c:\EPG.apk
单设备连接时
$ adb install c:\EPG.apk
当安装时提示已安装需要卸载时使用如下命令覆盖安装
$ adb install -r c:\EPG.apk
$ adb uninstall "包名"
$ adb uninstall -k "包名"
$ adb connect 172.17.122.122
$ adb disconnect
发送到设备
$ adb push <本地路径> <远程路径>
拉取文件到本地
$ adb pull <远程路径> <本地路径>

对android设备进行操作

登录设备后我们就可以通过命令行对设备进行操作了

# netcfg
例如将/system分区挂载为可读写状态
# mount -o rw,remount /system
# dumpsys meminfo ican.ytx.com.videosummary
或
# dumpsys meminfo 14087

am 命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等

# am start -a android.intent.action.CALL -d tel:10086
这里-a表示动作,-d表述传入的数据,还有-t表示传入的类型。
# am start -a android.intent.action.VIEW -d  http://www.baidu.com (这里-d表示传入的data)
# am start -a android.intent.action.MUSIC_PLAYER
或者使用 包名和应用名,可以在Androidmanifest.xml文件查看到
# am start -n com.android.music/com.android.music.MusicBrowserActivity
//am start -n ican.ytx.com.videosummary/ican.ytx.com.videosummary.MainActivity
  1. start [options] <INTENT> :启动activity通过指定的intent参数
  2. startservice [options] <INTENT> : 启动service通过指定的intent参数
  3. force-stop <PACKAGE> : 强制停止指定的package包应用
  4. broadcast [options] <INTENT> :发送一个intent。具体intent参数参照start命令参数
例如:am startservice -n com.android.music/com.android.music.MediaPlaybackService (这里-n表示组件)
或者:am startservice -a com.smz.myservice (这里-a表示动作,就是你在Androidmanifest里定义的)
例如1: am broadcast -a com.smz.mybroadcast
例如2: am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///storage/usb/Android
# /system/bin/screencap -p /sdcard/screenshot.png

logcat使用

选项 说明
-b <buffer> 加载可供查看的备用日志缓冲区,如 events 或 radio。默认情况下使用 main 缓冲区
-c 清除(刷新)整个日志并退出。
-d 将日志转储到屏幕并退出。
-f <filename> 将日志消息输出写入 <filename>。默认值为 stdout。
-g 打印指定日志缓冲区的大小并退出。
-n <count> 将已旋转日志的最大数量设置为 <count>。默认值为 4。 需要使用 -r 选项。
-r <kbytes> 每输出 <kbytes> 时旋转日志文件。默认值为 16。需要使用 -f 选项。
-s 将默认过滤器规则设为静默式。
-v <format> 设置日志消息的输出格式。默认值为 brief 格式有关支持的格式列表,请参阅"控制日志输出格式"

详细使用参考这里

常用过滤方法

step 1 通过包名获取进程pid
# ps | grep "com.ytx.ican.tcpupdate"
step 2 通过pid过滤log,例如pid为5505
# logcat -v time | grep "5505"
logcat -v time *:d MyCamera:S decode_difftime:S | grep "5505"
上一篇 下一篇

猜你喜欢

热点阅读