Android之路

导航

adb 常用命令

    Android开发中,adb工具是必不可少的,借助其可进行调试等操作。以下为工作过程中常用的adb命令,以后遇到会随时补充!

一、最基本的命令:

1、显示当前运行的全部设备:

  adb    devices

2、指定某一设备操作:

  adb  -s  XXX    shell

3、截图和录制视频的命令:

(1)截图:   adb shell screencap -p /sdcard/1.png

(2)录制视频:   adb shell screenrecord  /sdcard/1.mp4

4、安装及卸载应用,两种不同的方式:

adb install [-r] xxx.apk                        //-r:强制安装       最后一个参数时apk的全路径

adb shell pm install [-r] /data/local/tmp/xxx.apk    //安装的apk来源于设备中   例:data/local/tmp目录
adb uninstall [k] <PACKAGE>                    //卸载  <PACHAGE>应用包名
adb shell pm uninstall [-k] <PACKAGE>    //-k:卸载应用且保留数据与缓存,不加的话,则全部删除

5、查看日志:

  adb   logcat  -c

  adb   logcat  -s   tag    //指定标签的日志

  adb   logcat  -v threatime >test.log    //显示日志输出的时间,实际默认显示

二、其他调试工具:

1、Android 8.0查看进程信息:

  adb shell
  ps -A |grep "cam" -i     //必须使用-A,因为7.0以后ps修改了,不能直接使用.

2、属性配置工具:  

adb shell getprop
adb shell setprop
adb shell watchprops        //观察属性的变化

3、am工具:在命令行启动应用、服务、广播、profiling、GDB调试监控等。

adb shell am start -n com.test.testapp/.MainActivity
adb shell am startservice <INTENT>
adb shell am broadcast <INTENT>

4、pm工具:列出安装包的信息,如:安装位置,系统所有的安装包等.

查看危险权限列表可以使用命令:adb shell pm list permissions -g -d

5、getevent/sendevent工具:模拟按键和触屏操作.

adb shell sendevent [device][type][code][value]
注:sendevent命令中数字格式为十进制;getevent命令中数字格式为十六进制,getevent用来监控按键、拖动、滑动事件.

【简单的模拟按键】
adb shell input keyevent 66     //66:键码-----此时为KEYCODE_DPAD_CENTER

【获取按键上报】
adb shell getevent          //默认输出16进制

adb shell getevent -l          //将type、code、value以对应的常量名称显示

adb shell getevent -c 10     //输出10条信息后退出

6、系统管理工具:

adb shell df:查看文件系统的磁盘占用情况.
adb shell mount:挂载和显示文件系统.

7、使用命令授予应用权限:(针对Android6.0以上设备)

adb install -g xxx.apk                //授予应用程序所有在manifest中申明的权限

adb pm grant <PACKAGE> <PERMISSION>   //授予特定权限,注意:该权限在应用中已经存在,且非dangerous权限,相当于启用的作用(等同于在系统设置中手动开启已经关闭的权限)

adb pm revoke <PACKAGE> <PERMISSION>  //撤销特定权限

例:adb shell grant com.example.testapp  android.permission.ACCESS_FINE_LOCATION   //开启位置权限 

8、dumpsys工具:观察当前运行的广播、Activity栈、服务、进程、内存信息、窗体信息、渲染信息、电池信息等,例:

adb shell dumpsys activity            //activity栈信息
adb shell dumpsys activity broadcasts
adb shell dumpsys activity services
adb shell dumpsys meminfo            //内存信息
adb shell dumpsys power            //省电配置
adb shell dumpsys SurfaceFlinger        //渲染信息
adb shell dumpsys battery            //电池信息,【即当前电量、电池状态、电池温度等】
adb shell dumpsys /data/anr/traces.txt    //查看文件内容

9、monkey测试的相关命令:

【单跑一个模块】
adb shell monkey -p <PACKAGE> --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-trackball 0 --pct-nav 0 --pct-majornav 0
--pct-anyevent 0 -v -v -v --throttle 800 1200000000 > /sdcard/monkey.log 2>&1 & 【整体--去除黑名单】 adb shell monkey --pkg-blacklist-file /data/blacklist.txt --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-trackball 0
--pct-nav 0 --pct-majornav 0 --pct-anyevent 0 -v -v -v --throttle 800 1200000000 > /mnt/sdcard/monkey.log 2>&1 &

【停止monkey】
1、ps|grep monkey     //找到上述进程id,将其kill即可.

2、当然也可以重启手机.

三、更多命令及参考:

1、getevent/sendevent工具

2、adb logcat详述

3、抓取完整log

4、adb基本命令大全

5、adb完整用法大全(包括命令详解)



 

posted on 2019-07-30 17:15  Android之路  阅读(4370)  评论(0编辑  收藏  举报