adb shell 入门

一、ADB 简介
ADB(Android Debug Bridge) 是 Android 开发/测试人员不可替代的通用命令行工具,其允许与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。Android 系统是基于 Linux 内核的,所以 Linux 里的很多命令在 Android 里也有相同或类似的实现,在 adb shell 里可以调用。该工具是一个客户端-服务器程序。

客户端:客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。

后台程序:后台程序在每个模拟器或设备实例上作为后台进程运行。http://www.daiqiyang.com

服务器:服务器在开发计算机上作为后台进程运行。

二、安装:网上下载adb解压到自定义路径后,配置环境变量即可。

三、连接:
ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令(所有 adb 客户端均使用端口 5037 与 adb 服务器通信)。

  1. 连接 Android 模拟器
    夜神模拟器:adb connect 127.0.0.1:62001
    2.USB 连接 Android 设备
    a. 打开开发者选项
    Settings >About phone>连续点击 Build number
    b. 开启 USB debugging
    c .Dos 下输入adb devices验证手机是否连上 adb
    3.手机和电脑连入同一局域网 adb connect ip

四、常用命令

1、安装应用
(1)adb install D:\adbtest\baidu.apk 文件名中不要有空格

(2)adb push D:\adbtest\baidu.apk /system/app
会将原来系统中的对应的apk覆盖掉
可用 adb pull /system/app/baidu.apk /home/ 备份

有时候会出现Read-only的错误,我们可以使用强制安装命令来安装apk
adb install -r D:\adbtest\baidu.apk

2、卸载
adb uninstall com.baidu.browser.apps

3、导入/导出 文件到手机中
adb pull remote local
adb push local remote

4、包管理命令pm
adb shell pm list packages -3 查看第三方安装包
根据包名,查看apk 安装路径
adb shell pm path com.baidu.browser.apps 包名
清除app 数据
adb shell pm clear com.baidu.browser.apps 包名

5、dumpsys查询系统服务转储到屏幕:
查看所有activity
adb shell dumpsys activity activities、
获取当前运行的Activity
adb shell dumpsys activity | findstr Run

6、查看系统进程
adb shell top
adb shell ps
Ps 只提供当前进程的快照。top即时查看最活跃的进程

7、抓取日志adb logcat
adb logcat -v time :E >D:\test.log 抓取日志并输出到制定路径
adb logcat ActivityManager:i
:s
查看activity日志,仅输出标记为“ActivityManager”并且优先级大于等于“Info”的日志,*:S用于设置所有标记的日志优先级为S,这样可以确保仅输出符合条件的日志。
只显示需要的输出(白名单),通过管道使用 grep 过滤。
参考资料(https://www.cnblogs.com/bydzhangxiaowei/p/8168598.html

8、adb shell monkey 压力测试
参考资料(https://www.cnblogs.com/yindada/p/9845032.html
adb shell monkey -p com.baidu.browser.apps -v 1000 >d:\adbtest\monkey_test.txt
-p ,此命令用于指定包,若不指定则在整个系统中执行
-v ,用于反馈日志的详细程度级别
Level 0 : adb shell monkey -p 包名 -v 10 // 默认级别,仅提供启动、测试完成和最终结果等少量信息

Level 1 : adb shell monkey -p 包名 -v -v 10 // 提供较为详细的日志,包括每个发送到Activity的事件信息

Level 2 : adb shell monkey -p 包名 -v -v -v 10 // 提供最详细的日志,包括了测试中选中/未选中的Activity信息
1.程序无响应:ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索“CRASH”
3.其他问题:在日志中搜索”Exception”

9、模拟用户操作
点击事件
adb shell input keyevent <keycode>
滑动
adb shell input swipe 300 1000 300 500
文本输入
adb shell input text hello,world

10、截屏、录像:
adb shell screencap /system/test.png文件保存路径
adb shell screenrecord 文件保存路径

Android adb调试时,经常会遇到权限问题(failed for /system/lib/libmm-test.so, Read-only file system),即使Root设备,在向/system等系统文件夹操作时(比如push、rm等),依然可能会提示“Read-only file system”。adb remount 重新挂载系统分区,使系统分区重新可写或着重启 (http://www.metsky.com/archives/670.html

screenrecord 部分参数
--size width x height 设置分辨率 eg:1280x720
--bit-rate rate 视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /system/demo.mp4
--time-limit time 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)

原文地址:https://blog.51cto.com/6624835/2463533

时间: 2024-08-19 09:27:00

adb shell 入门的相关文章

adb shell常用命令

adb shell常用命令: 按下OK键   device.press('KEYCODE_DPAD_CENTER','DOWN_AND_UP') 长按某个按键:  device.drag((236,440),(236,440),2,10) 相应的按键对应的名称如下: home键:KEYCODE_HOME back键:KEYCODE_BACK send键:KEYCODE_CALL End键:   KEYCODE_ENDCALL 上导航键:KEYCODE_DPAD_UP 下导航键:KEYCODE_D

转adb Shell root 权限

因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied.删除system下的文件也没有权限.其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root. 1.用su可以提权,直接执行su就会看到用户命令提示符由"$"变成了"#",如果手机没有root,会提示s

ADB enhanced Putty (replacement for "adb shell" co

We all know that running "adb shell" from the command line is pretty crap, and when using a latter busybox version which has coloring support it's ultimately crap. One workaround was usually to start a telnet server on the phone, and use putty t

adb shell 命令详解

adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序.借助这个工具,我们可以管理设备或手机模拟器的状态.还可以进行以下的操作:  1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级: 2.在设备上运行shell命令: 3.管理设备或手机模拟器上的预定端口: 4.在设备或手机模拟器上复制或粘贴文件

shell入门之一

第1章 shell入门   shell是一个命令解释器,它的操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种二样的操作系统的输出结果,输出屏幕返回给用户   对话的方式可以是:   交互式方式:从键盘输入命令,通过/bin/bash 解析,可以立即得到shell的回应   非交互式方式:脚本   1.1 下图就是命令解释器: shell是英文是贝壳的意思,命令解释器shell像一个贝壳一样包住系统核心 shell执行的命令分为两种方式: 内置命令:如讲过的cd . p

android进入adb shell步骤及修改sqlite数据库文件的权限

1 准备工作 (1)将adb.exe从  \Sdk\platform-tools目录下移动到 \Sdk\tools目录下(主要是看emulator这几个文件在哪个文件夹就把adb.exe移动到哪个文件夹): (2)将sqlite3.exe从  \Sdk\platform-tools目录下移动到 \Sdk\tools目录下(同上) 2 打开CMD界面,cd到 \Sdk\tools目录下,运行指令 adb shell进入adb界面内 3 定位到数据库所在的位置,chmod 777 file 修改文件

adb &amp; adb shell 相关命令

在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件,如果有,更新一下文件时间 三.输入open -e .bash_profile open:打开文件 回车后会在TextEdit中打开这个文件(如果未配置过环境变量,应该是个空白文件).在文件中加如以下内容 export PATH=${PATH}:/Users/admin/Applications/a

android SDK adb命令入门学习

[基本介绍] 在学习android过程中,经常需要用到adb命令.ADB全称Android Debug Bridge,是android sdk里的一个工具, ADB是一个"客户端-服务器端"程序,其中客户端就是操作的的电脑,服务器端是android设备,包括实体机器戒者虚拟机.用这个命令可以直接操作管理android模拟器或者真实的andriod设备 它的主要功能有: *运行设备的shell(命令行) * 管理模拟器戒设备的端口映射 * 计算机和设备之间上传/下载文件 * 将本地apk

Android查询:模拟键盘鼠标事件之adb shell 实现

1. 发送键盘事件: 命令格式1:adb shell input keyevent "value" 其中value以及对应的key code如下表所列: KeyEvent Value      KEYCODE     Comment 0       KEYCODE_UNKNOWN 1       KEYCODE_MENU     在SDK2.1的模拟器中命令失效,sendevent命令可行 2       KEYCODE_SOFT_RIGHT 3       KEYCODE_HOME