常用adb命令汇总

作者: wanderingGuy | 来源:发表于2018-02-10 22:02 被阅读34次

    本文汇总了开发中常用的adb命令,熟悉这些命令在某些场景会极大的提高开发效率,绝对的干货。文中所有参数以$开头,实际使用时替换为真正参数即可。

    一、启动/关闭类

    1.启 动activity
    1.1 隐式action方式:
    adb shell am start -a ${your_action_name}
    
    1.2 显示activity方式:
    adb shell am start -n ${your_package_name}/${your_activity_name}
    

    显式(-n)与隐式(-a)的指令也适用于服务和广播。

    1.3 添加启动参数:

    如果要添加启动参数则在以上命令后面继续添加如下配置:
    string 类型: --es ${paramter_key} ${value}
    int 类型: --ei ${paramter_key} ${value}
    boolean类型: --ez ${paramter_key} ${value}

    多个参数以空格分隔,其他参数类型可自行google查阅,此方式也适用于service和广播,举个栗子

    adb shell am start -a com.xxxx.business.action --es name 'zhangsan' --ei age 18
    
    2.发送广播
    adb shell am broadcast -a ${broad_action_name}
    
    3.启动服务
    adb shell am startservice -n ${your_package_name}/${your_service_name}
    //停止服务
    adb shell am stopservice -n ${your_package_name}/${your_service_name}
    
    4.启动安装应用对话框
    adb shell am start -a android.intent.action.VIEW -d ${your_apk_file_absolute_path} -t application/vnd.android.package-archive
    比如路径是sdcard 则参数可为 file:///sdcard/test.apk
    
    5.强制退出进程
    adb shell am force-stop ${your_package_name}
    

    二、调试类

    1.打开/关闭布局边界

    简直是调整UI问题的神器啊有木有

    //打开
    adb shell setprop debug.layout true 
    //关闭
    adb shell setprop debug.layout false
    
    2.切换window大小和density

    做适配的时候太常用了,根本不用拿着那么多机器调试,但是前提是只能调低而不能调高,因此选择一款分辨率最高的机器测试就好了。

    //调整屏幕分辨率
    adb shell wm size 1920x1080
    //调整density
    adb shell wm density 240
    
    3.截图

    你是不是觉得AS里的一个按钮已经很好用了,我还是觉得太麻烦,而且最新的AS3.0已经不支持4.4及以前的机型了。所以干脆来个脚本吧,相当给力。

    #!/bin/sh
    #截图
    ls_date=`date +%Y%m%d%H%M%S`
    //截图
    adb shell /system/bin/screencap -p /sdcard/screenshot_${ls_date}.png
    #从SD卡导出到本机当前目录
    adb pull /sdcard/screenshot_${ls_date}.png .
    
    4.抓log

    这就属于常规操作了,基本上都会吧,我常用的配置如下

    //线程、进程名称在涉及到多应用间调试是很关键的信息
    adb logcat -v threadtime > log_xxxx.txt
    
    4.检查服务存活性

    不用说,一行命令打印service是否存活对调试而言简直不能更方便

    加上|grep可支持模糊查询
    adb shell dumpsys activity services |grep ${your_service_name}
    
    5.打印activity stack情况

    有了这个命令,你还担心透明的activity嘛,打印出的信息已经涵盖了所有stack 及其task及其中activity的所有状态信息。另外dumpsys 指令相当强大,还能打印cpu、battery等硬件的信息。

    adb shell dumpsys activity activities
    

    由此命令再加上一个参数可直接打印顶层activity名称

    adb shell dumpsys activity | grep mFocusedActivity
    
    6.打印window情况

    同activity类似

    adb shell dumpsys window -w
    

    由此命令再加上一个参数可直接打印顶层activity名称

    adb shell dumpsys activity | grep mFocusedActivity
    
    7.清除全部应用数据
    adb shell pm clear ${your_package_name}
    
    8.打印apk包信息

    如果apk未安装

    aapt dump badging ${your_apk_file_path}
    

    如果已经安装

    adb shell dumpsys package ${your_package_name}
    
    9.打印manifest内容
    aapt dump xmltree ${your_apk_file_path} AndroidManifest.xml
    
    10.杀死执行包名的进程
    adb shell am force-stop ${your_package_name} 
    
    11.打印设置所有属性信息,这些信息在system/build.prop文件中
    adb shell getprop
    

    三、性能优化

    1.GPU渲染时间,帧率的重要指标
    adb shell setprop debug.hwui.profile visual_bars (柱形图)
    adb shell setprop debug.hwui.profile visual_lines (折线图)
    
    2.过渡绘制
    //执行完后需要杀死进程重启
    adb shell setprop debug.hwui.overdraw show
    
    3.打印内存信息
    adb shell procrank|grep ${your_package_name}
    adb shell dumpsys meminfo ${your_package_name}(更详细一些)
    

    相关文章

      网友评论

        本文标题:常用adb命令汇总

        本文链接:https://www.haomeiwen.com/subject/oiehtftx.html