Android-常用ADB命令

Android-常用ADB命令

    • Android-常用ADB命令
        • 开启 adb 服务和停止
        • 常规
        • 选择设备
        • 安装和卸载程序
        • 文件导入和导出
        • 调试
        • shell 命令
        • 屏幕截图
        • 调试 Activity Manager
          • 查看当前显示的Activity名称
        • 导出ANR文件
        • 杀死进程
        • 参考 Intent 参数详解
        • 参考文章

Android-常用ADB命令

平时进行Android 开发中 经常会用到ADB命令 特将常用的命令收集起来 以便日后查找

开启 adb 服务和停止

使用 start-server 检查 adb 服务器进程是否在运行,如果未运行则启动它。kill-server 停止adb 服务


adb start-server

adb kill-server

常规


adb deivces

将展示目前连接的设备列表列:

adb devices
List of devices attached
emulator-5554  device
emulator-5556  device
emulator-5558  device

# 输出支持的 adb 命令的列表。
adb help

# 输出 adb 版本号。
adb version

选择设备

当连接多个设备时、通过 -s <设备名称> 选择指定的设备、例如 安装程序到指定设备


adb -s emulator-5556 install helloWorld.apk

安装和卸载程序

使用 install 命令安装程序 使用 uninstall 卸载指定程序


adb install helloworld.apk

adb uninstall <package name>

文件导入和导出

使用 pull 命令 将文件从 设备中导入到电脑 指定目录、使用 push 命令 将文件导入到设备指定目录


adb pull <file name> <local path>

adb push <local path> <remote path>

调试


# 将日志输出到控制台 但是会持续打印 可以添加 参数 -d 过滤
adb logcat 

# 将 dumpsys、dumpstate 和 logcat 数据输出到屏幕,以用于报告错误。打成一zip压缩包的形式
adb bugreport

# 输出给定设备上可用的 JDWP 进程的列表。
adb jdwp

shell 命令

使用 adb shell 进入 shell 面板、使用 control + z 或者 exit 退出


# 进入 shell 命令面板
adb shell 

# 退出 shell 命令面板
exit

屏幕截图

使用 screencap 截取当前设备图片


# 进入shell面板
$ adb shell
# 截取当前图片 保存到 sdcard 文件下
$ screencap /sdcard/screen.png
# 退出 shell 面板
$ exit
# 将图片导出到本地
$ adb pull /sdcard/screen.png

调试 Activity Manager

查看当前显示的Activity名称

window 环境下:

adb shell dumpsys activity | findstr "mFocusedActivity"

linux / macOS 环境下:

adb shell dumpsys activity | grep "mFocusedActivity"

导出ANR文件

导出 ANR文件第一种方式就是 adb pull traces.txt 导出文件方式

  1. adb pull /data/anr/traces.txt d:/
1、adb shell 

2、cat  /data/anr/xxx   >/mnt/sdcard/yy/zz.txt   

3、exit

4、adb pull /mnt/sdcard/yy/zz.txt  d:  ,即可将文件导出到了d盘。

如果使用 adb pull 遇到在一些手机上没有权限问题可以使用下面方式:

  1. adb bugreport /…目录

完成之后导出Zip包 解压出来 、在 /FS/data/anr/ 目录中查看

杀死进程


# 杀死指定进程
adb kill <package name>

# 杀死所有后天进程
adb kill-all

参考 Intent 参数详解

对于采用 intent 参数的 Activity Manager 命令,您可以使用以下选项指定 intent:


-a action
# 指定 intent 操作,如“android.intent.action.VIEW”。此指定只能声明一次。

-d data_uri
# 指定 intent 数据 URI,如“content://contacts/people/1”。此指定只能声明一次。

-t mime_type
# 指定 intent MIME 类型,如“image/png”。此指定只能声明一次。

-c category
# 指定 intent 类别,如“android.intent.category.APP_CONTACTS”。

-n component
# 指定带有软件包名称前缀的组件名称以创建显式 intent,如“com.example.app/.ExampleActivity”。

-f flags
#将标志添加到 setFlags() 支持的 intent。

--esn extra_key
# 添加一个 null extra。URI intent 不支持此选项。

-e|--es extra_key extra_string_value
# 添加字符串数据作为键值对。

--ez extra_key extra_boolean_value
# 添加布尔型数据作为键值对。

--ei extra_key extra_int_value
# 添加整数型数据作为键值对。

--el extra_key extra_long_value
# 添加长整型数据作为键值对。

--ef extra_key extra_float_value
# 添加浮点型数据作为键值对。

--eu extra_key extra_uri_value
# 添加 URI 数据作为键值对。

--ecn extra_key extra_component_name_value
# 添加组件名称,将其作为 ComponentName 对象进行转换和传递。

--eia extra_key extra_int_value[,extra_int_value...]
# 添加整数数组。

--ela extra_key extra_long_value[,extra_long_value...]
# 添加长整型数组。

--efa extra_key extra_float_value[,extra_float_value...]
# 添加浮点型数组。

--grant-read-uri-permission
# 包含标志 FLAG_GRANT_READ_URI_PERMISSION。

--grant-write-uri-permission
# 包含标志 FLAG_GRANT_WRITE_URI_PERMISSION。

--debug-log-resolution
# 包含标志 FLAG_DEBUG_LOG_RESOLUTION。

--exclude-stopped-packages
# 包含标志 FLAG_EXCLUDE_STOPPED_PACKAGES。

--include-stopped-packages
# 包含标志 FLAG_INCLUDE_STOPPED_PACKAGES。

--activity-brought-to-front
# 包含标志 FLAG_ACTIVITY_BROUGHT_TO_FRONT。

--activity-clear-top
# 包含标志 FLAG_ACTIVITY_CLEAR_TOP。

--activity-clear-when-task-reset
# 包含标志 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET。

--activity-exclude-from-recents
# 包含标志 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS。

--activity-launched-from-history
# 包含标志 FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY。

--activity-multiple-task
# 包含标志 FLAG_ACTIVITY_MULTIPLE_TASK。

--activity-no-animation
# 包含标志 FLAG_ACTIVITY_NO_ANIMATION。

--activity-no-history
# 包含标志 FLAG_ACTIVITY_NO_HISTORY。

--activity-no-user-action
# 包含标志 FLAG_ACTIVITY_NO_USER_ACTION。

--activity-previous-is-top
# 包含标志 FLAG_ACTIVITY_PREVIOUS_IS_TOP。

--activity-reorder-to-front
# 包含标志 FLAG_ACTIVITY_REORDER_TO_FRONT。

--activity-reset-task-if-needed
# 包含标志 FLAG_ACTIVITY_RESET_TASK_IF_NEEDED。

--activity-single-top
# 包含标志 FLAG_ACTIVITY_SINGLE_TOP。

--activity-clear-task
# 包含标志 FLAG_ACTIVITY_CLEAR_TASK。

--activity-task-on-home
# 包含标志 FLAG_ACTIVITY_TASK_ON_HOME。

--receiver-registered-only
# 包含标志 FLAG_RECEIVER_REGISTERED_ONLY。

--receiver-replace-pending
# 包含标志 FLAG_RECEIVER_REPLACE_PENDING。

--selector
#需要使用 -d 和 -t 选项以设置 intent 数据和类型。

参考文章

https://developer.android.com/studio/command-line/adb#IntentSpec

你可能感兴趣的:(Android基础,android,adb)