zoukankan      html  css  js  c++  java
  • android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用。起调试桥的作用,可以管理安卓设备。(也叫debug工具)

    ---------查看设备连接状态 -----------

    adb get-serialno  获取设备的ID和序列号<serialNumber>

    adb devices  查询当前计算机上连接那些设备(包括模拟器和手机)

    adb get-state  查看模拟器/设施的当前状态.  

    ----------发送命令到设备 ----------- 

    adb [-d|-e|-s <serialNumber>] <command>

    -d 发送命令给usb连接的设备

    -e 发送命令到模拟器设备 

    -s <serialNumber> 发送命令到指定设备  

    如启动手机设备shell: adb -d shell    

    adb forward <local> <remote>发布端口,可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:8000 

    adb bugreport  输出bug日志

    adb reboot 重启手机 

    adb remount 将system分区重新挂载为可读写分区

    adb kill-server 终止adb服务进程

    adb start-server 重启adb服务进程

    adb root 已root权限重启adb服务 

    adb wait-for-device 在模拟器/设备连接之前把命令转载在adb的命令器中

    adb jdwp 查看指定的设施的可用的JDWP信息. 

    adb shell am 命令可以启动应用程序 

    adb shell input text <string>  向设备输入文本(光标所在的文本框)

    adb shell input keyevent <event_code> 向设备发送按键事件

    如:在编辑短信时,往文本框输入文本:adb shell input text "hello"  

    向手机发送键值回Home:adb shell input keyevent 3

    参考view/KeyEvent.java中的  KEYCODE_*     

    public static final int KEYCODE_SOFT_LEFT      = 1;    

    public static final int KEYCODE_SOFT_RIGHT   = 2;    

    public static final int KEYCODE_HOME             = 3;    

    public static final int KEYCODE_BACK              = 4;   

    public static final int KEYCODE_CALL               = 5;    

    public static final int KEYCODE_ENDCALL         = 6;      

    ----------安装卸载 -----------  

    adb install [-l] [-r] <package> 安装应用  (-l 表示锁定该程序; -r 重新安装该应用)

    adb uninstall [-k] <package>  卸载应用     (-k 表示不删除程序运行产生的数据和缓存目录)

     如: adb install d:hello.apk (设备中的系统安装器一般是 “adb install -r apk路径”)

    adb uninstall com.google.android.youtube

    ----------文件操作 -----------  

    adb push <local> <remote>  把本地文件放到(复制)目标设备中

    adb pull <remote> <local>   从设备中拖出(复制)文件到指定的本地目录

    ----------基本的linux shell命令---------- 

    adb shell [command]   (exit 退出adb shell)

    ls [-a] [-l] 列出目录下的文件和文件夹(-a 表示列出所有文件,包括隐藏文件; -l 表示已列表形式,且显示所有权限)

    cd  切换目录 (cd .. 表示返回上层目录,理论可以执行多次..)

    pwd 查看当前所在位置

    mkdir 新建文件夹

    touch 新建文件(可多次新建,如 touch a.txt b.txt .....)

    cp 复制文件

    mv 剪切/重命名文件 (重命名 mv old-name.txt new-name.txt)

    rm 删除目录和文件 (rmdir 只能删除空文件夹)

    find 查找文件或文件夹(find -name file-name ;find *a* 模糊查找)

    cat  查看文件内容 

    ps 可以看那个进程再跑 

    ps -x [PID] 查看单个进程的状态

    top 可以看那个进程的占用率最高

    su 切换到root用户

    kill [pid] 杀死一个进程 

    chmod 777 <file> 修改该文件为可执行权限 (最高权限 )

    ----------查看系统状态和信息 -----------

    adb shell df 检查磁盘空间占用情况

    adb shell procrank 查询各进程内存使用情况

    adb shell service list 查看services信息 

    adb shell cat /proc/meminfo 查看当前的内存情况

    adb shell cat /proc/cpuinfo 查看CPU信息(硬件)

    adb shell cat /proc/iomem  查看IO内存分区  

    adb shell getprop 列出系统所有属性 

    adb shell getprop | findstr "gsm" 列出包含gsm的属性

    adb shell setprop <key> <value>  修改系统属性    

    adb shell sqlite3 可以执行sql语句查看数据库信息。

    adb shell dmesg  查询内核缓冲区信息 

    adb shell dumpstate 各类信息,比如进程信息,内存信息,进程是否异常,kernel的log等

    adb shell dumpcrash  查看crash

    adb shell dumpsys [activity/package/.... ] 查看活动管理器状态/包信息等

    adb shell dumpsys [procstats/gfxinfo/....] 查看内存随时间变化图/图形状态等

    adb shell dumpsys [cpuinfo/meminfo/battery..... ] 查看系统的CPU/内存/电量等信息

    adb shell service 查询所有service的状态

    -----------Logcat命令 ---------- 

    adb logcat [<option>] [ <filter-spec> ]  查看设备log.

    adb logcat -c 清除日志信息

    adb logcat -d 缓存日志

    adb logcat -f <filename>  将日志输出到文件

    adb logcat -s  过滤输出指定标签的日志

    1.查看可用日志缓冲区: 

    adb logcat -b radio — 查看无线/电话的相关的缓冲区信息. 

    adb logcat -b events — 查看和事件相关的的缓冲区. 

    adb logcat -b main — 查看主要的日志缓冲区

    2.过滤日志输出: 

    过滤器语句按照下面的格式tag[:priority] , tag 表示是component(*是指所有的), priority 是表示tag的报告的等级 (优先级)

    adb logcat *:W  显示优先级为warning或更高的日志信息

    adb logcat ActivityManager:I MyApp:D *:S  

    优先级从低到高顺序排列:

    V — Verbose (最低优先级,明细)

    D — Debug (调试)

    I — Info (信息)

    W — Warning (警告)

    E — Error (错误)

    F — Fatal (致命的)

    S — Silent (最高优先级,无记载)

    3.控制日志输出格式: 

    可以通过 -v 选项得到格式化输出日志的相关信息.  

    [adb] logcat [-v <format>] 

    brief —显示优先级/标签和原始进程的PID(默认格式)

    process — 只显示进程PID

    tag — 显示优先级/标签

    thread — 显示进程:线程和优先级/标签

    raw — 显示原始日志消息,没有其他元数据字段

    time — 显示日期,调用时间,优先级PID

    long —显示所有的元数据字段并且用空行分隔消息内容

    例如:adb logcat -v threadtime 显示时间和线程信息  

    -----------Other----------  

    adb shell

    pm 命令详解

    pm list package [-f] 查看所有已安装应用的包名 (-f 表示查看apk的保存目录)

    pm list permissions [-g] [-f] [-d] [-u] 查看所有权限

    pm list permission-groups 查看已知权限组

    pm list features 查看所有硬件相关

    pm

    waiting.......

    adb shell相关的信息:

    http://blog.csdn.net/wxx614817/article/details/50612575

    http://www.cnblogs.com/shangdawei/p/4514315.html

  • 相关阅读:
    Netty解决粘包和拆包问题的四种方案
    springboot 1.4 CXF配置
    聊聊springboot2的embeded container的配置改动
    MFC函数——CWnd::OnCreate
    《开发专家 Visual C 开发入行真功夫》笔记
    MFC中UpdateData()函数的使用
    Visual Studio 2008 添加MScomm控件的方法
    Visual Studio 2008 调试运行Bug记录
    《VS2010/MFC编程入门教程》——读书笔记
    《C++程序设计教程——给予Visual Studio 2008》读书笔记3章
  • 原文地址:https://www.cnblogs.com/zeo-to-one/p/6081488.html
Copyright © 2011-2022 走看看