Quantcast
Channel: 看得透又看得远者prevail.ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
Viewing all articles
Browse latest Browse all 20472

Android的调试工具-adb的常用命令

$
0
0
Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell,可用来在模拟器或连接的设备上运行各种命令的访问。(摘自 developer.android.com)

开启和终止 adb 服务

打开多个 adb 程序时,会出现冲突问题。比如同时开启不同 IDE,在加上 QQ 、各种助手等,会占用 adb 端口。这时候需要重新启动服务。

1


2


adb kill-server # 杀掉进程


adb start-server # 开启服务

连接和断开

主要用于连接多个设备的时候,方便查看和管理。

1


2


3


4


adb shell # 自动连接


adb devices # 查看目前连接设备


adb -s XXXX shell # 当存在多个设备,需要制定连接设备名称。


adb disconnect # 断开所有连接的设备

无线调试

很多时候,我们并不方便在设备商调试,尤其是穿戴设备、智能硬件等。无线调试可以解决这个问题,当然如果 apk 太大,每次安装需要花费一定的时间,受限于无线的文件传输速度,不过打印日志是无线速度是戳戳有余了。
  1. 开启 USB 调试,打开 5555 端口
    • 这一步有两种方式,一种是连接 USB 数据线,通过命令行开启;

1


2


adb tcpip 5555 # 开启 5555 端口


adb shell ip -f inet addr show wlan0 # 查看设备 IP

  • 另外一种,如果机器可以获取 ROOT 权限,直接安装 wifidebu.apk(推荐)
  • 如果你可以编译系统,在 init.rc 文件中加入对应脚本或代码开机开启 5555 端口也可以实现类似效果。
  1. 连接与断开设备

1


2


adb connect 192.168.1.XX


adb disconnect # 断开设备

Activity 相关

  • 调试的时候可以快速确定当前 Activity 名称以便于在代码中定位到要修改的地方;
  • 启动制定的 APP 和指定的 Activity 便于测试。

1


2


3


4


am start -n yourpackagename/.activityname # 启动指定 Activity


am start -n com.android.launcher3/.Launcher # 启动 Android 桌面


adb logcat -v time | grep ActivityManager # 查看 Activity 日志


adb shell dumpsys window w |grep \/ |grep name= #显示当前 Activity 名称

文件操作

主要用于传输文件到设备或者导出 Sqlite 数据库文件

1


2


3


adb pull /file ~/Desktop # 导出文件到电脑桌面


adb push file.txt /sdcard/ # 导入文件到设备 SDCard


mount -o rw,remount /system # 挂载 system 为可读写,用于修改系统文件内容

Package

显示 APP 信息

1


2


3


adb shell dumpsys package com_package_name # 显示指定包名 APP 信息


adb shell pm list packages # 显示所有安装 APP 列表


adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1 # 根据包名启动应用

通过 apk 文件查看应用信息(aapt 在 SDK 中)

1


aapt dump badging <path-to-apk> | grep package:\ name

APK 安装、卸载与导出

1


2


3


adb shell pm path your-package-name # 导出 APK 安装文件


adb install path/name.apk # 安装 APK 文件


adb shell pm uninstall com.package.name # 卸载 APK

Logcat


1


2


adb logcat | grep AndroidRuntime # 查看崩溃日志


adb logcat -s "MainActivity" # 根据 TAG 过滤标签

为了能够更好的输出,推荐使用 logcat-color查看日志。类似还有 pidcat
设置 alias logcat = “path/logcat-color”

1


2


3


4


logcat -d | egrep '(MainActivity | PlayDialogFragment)' # 多个标签过滤日志


logcat -c #清除日志缓存


logcat-color > ~/Desktop/my.log # 输出日志到桌面


adb logcat -v time | grep "D\/Dalvik" # 查看dalvik信息,比如gc

系统相关


1


2


3


adb shell su -c 'svc power shutdown' # 关机


adb reboot #重启设备


adb reboot-bootloader # 重启进入 bootloader

显示系统信息

  • dumpsys activity# 显示Activity信息
  • dumpsys meminfo # 内存信息
  • dumpsys package # package 信息
  • dumpsys window #显示窗口信息
  • dumpsys alarm #alarm 信息

Broadcast


1


am broadcast -a android.intent.action.BOOT_COMPLETED # 发送开机广播

驱动相关


1


2


lsmod #查看加载情况


insmod hello.ko # 加载驱动

相关文档推荐:https://developer.android.com/studio/command-line/adb.html

Viewing all articles
Browse latest Browse all 20472

Trending Articles