zoukankan      html  css  js  c++  java
  • adb命令的使用

    adb的全称为(Android Debug Bridge)就是调试桥的作用。Adb命令存放在SDK的Tools文件夹下,又称为手机和电脑连接的桥梁命令。

    借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:

    • 快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;
    • 在设备上运行shell命令;
    • 管理设备或手机模拟器上的预定端口;
    • 在设备或手机模拟器上复制或粘贴文件;
    • 查看日志;
    • 分析app内存。

    常用的adb命令

    • 连接到模拟器
      adb connect 127.0.0.1:6555
    • 显示当前运行的全部模拟器
      adb devices
    • 安装应用程序: adb install 应用程序.apk
      adb install E:CalcTest.apk
    • 覆盖安装应用程序: adb install 应用程序.apk –r
      adb install -r E:CalcTest.apk
    • 获取当前运行程序的包名
      adb shell dumpsys window | findstr mCurrentFocus
    • 缷载apk包:adb uninstall apk包的主包名
      adb uninstall com.skv.jisuanji
    • 对某一模拟器执行命令: adb -s 模拟器编号 命令
      adb -s 127.0.0.1:6555 install E:CalcTest.apk
    • 进入手机的超级终端Terminal(登录到模拟器Linux操作系统)
      adb shell
    • 向模拟器中写文件(上传): adb push
      adb push E:data.csv /cache
    • 从模拟器中复制文件到本地(下载):adb pull
      adb pull /cache/data.csv D:
    • 以root权限重启adb
      adb root
    • 命令行显示Log(查看日志):adb logcat

    将日志保存到模拟器(-f:将日志输出到文件)
    adb logcat -f /test/log.txt
    将日志保存到本地
    adb logcat>D:a.txt
    过滤(用adb shell进入Linux才可以使用)
    logcat -v tag *:E | grep -i ZKOPCountUtil
    利用正则表达式过滤
    logcat -v tag *:E | grep -i "^..ZKO"
    查看app相关所有信息
    adb shell dumpsys package com.sky.jisuanji
    利用反编译方式获取app的相关信息
    aapt dump badging E:CalcTest.apk(需要配置aapt的环境变量)

    备注:在使用adb命令之前,手机要开启usb debug模式

    使用adb shell命令时出错,如下图所示:

    问题分析:出现此问题是由于端口占用引起,把占用端口的进程kill掉
    解决方法:
    adb nodaemon server
    netstat -ano | findstr "5037”
    然后去任务管理器关掉相应进程

    命令行显示Log: adb logcat
    adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的。
    -- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志; 如想要输出 "System.out" 标签的信息, 就可以使用adb logcat -s System.out 命令
    “-f”选项 : 将日志输出到文件, 默认输出到标准输出流中,该选项后面跟着输入日志的文件, 使用adb logcat -f /sdcard/log.txt 命令, 注意这个log文件是输出到手机上,需
    要指定合适的路径。
    "-c"选项 : 清空所有的日志缓存信息;
    "-v"选项 :
    adb logcat -v time :可以啥看日志的输出时间;
    adb logcat -v threadtime :可以啥看日志的输出时间和线程信息;
    adb logcat -v process:格式为“优先级 (进程ID) : 日志信息 "的日志;
    adb logcat -v tag:格式为 " 优先级 / 标签 : 日志信息" 的日志;
    adb logcat -v thread :格式为 "优先级 ( 进程ID : 线程ID) 标签 : 日志内容" 的日志;
    adb logcat -v raw :只输出日志信息, 不附加任何其他信息;
    adb logcat -v long:格式为 “ [ 日期 时间 进程ID : 线程ID 优先级 / 标签] 日志信息 ”的日志。

    过滤项解析:
    过滤项格式 : [:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;

    • V : Verbose (明细);
    • D : Debug (调试);
    • I: Info (信息);
    • W: Warn (警告);
    • E: Error (错误);
    • F: Fatal (严重错误);
    • S : Silent(Super all output) (最高的优先级, 可能不会记载东西)

    举例:
    1、显示 Error 以上级别的日志:adb logcat *:E
    2、可以同时设置多个过滤器,如:adb logcat WifiHW:D dalvikvm:I *:S
    输出 WifiHW 标签 的 Debug 以上级别 和 dalvikvm 标签的 Info 以上级别的日志

    • Logcat还支持过滤固定字符串、使用正则表达式匹配,如下:
      adb logcat | grep -i wifi
      adb logcat | grep "^..Activity"
    • 命令查看当前运行的包名和Activity,使用它前先要打开待测app:
      adb shell dumpsys window | findstr mCurrentFocus
    • 查看app相关所有信息,包括action,codepath,version,需要的权限等等信息:
      adb shell dumpsys package <package_name>
      package_name可以通过上面的命令获取,也可以使用:
      Aapt dump badging APK路径 反编译方式获取
    • 查看app的路径:adb shell pm path <package_name>
      adb shell pm path com.sky.jisuanji
    • 启动activity:adb shell am start -n <package_name>/.<activity_class_name>
      adb shell am start -n com.sky.jisuanji/com.sky.jisuanji.JisuanjizixieActivity
    • 删除与包相关的所有数据,清除数据和缓存:adb shell pm clear <package_name>
    • 查看某个app的进程相关信息:adb shell ps | grep <package_name>
      ps | grep com.sky.jisuanji
    • 杀掉某个进程,一般用于模拟某个bug复现:
      adb shell kill pidNumber
    • 查看某一个app的内存占用:adb shell dumpsys meminfo <package_name|PID>
      dumpsys meminfo com.sky.jisuanji
    • 利用adb命令按住按键:
      adb shell input keyevent KEYCODE_POWER
      KEYCODE_POWER为键值
  • 相关阅读:
    abp 嵌入资源(视图、css、js)的访问
    提高SQL查询效率的30种方法
    jqgrid 使用自带的行编辑
    jqgrid 单击行启用行编辑,切换行保存原编辑行
    handsontable 拖动末尾列至前面列位置,被拖动列消失的问题
    js 自己项目中几种打开或弹出页面的方法
    js 根据相对路径url获得完整路径url
    【Flutter学习】之动画实现原理浅析(一)
    Xcode 编辑器之关于Other Linker Flags相关问题
    【Flutter学习】之Widget数据共享之InheritedWidget
  • 原文地址:https://www.cnblogs.com/TD1900/p/12089829.html
Copyright © 2011-2022 走看看