adb教程(很详细) 您所在的位置:网站首页 adb手机刷机教程 adb教程(很详细)

adb教程(很详细)

2023-08-21 07:33| 来源: 网络整理| 查看: 265

adb教程(非常详细)

原创博客不易,如若转载请注明来源。 如有错误及问题,欢迎评论指出。一起学习

文章目录 adb教程(非常详细)简介安装WindowsUbuntuMac 连接设备真机模拟器 使用详解adb相关开启/停止 `adb 服务`给`指定设备`发送命令 设备相关查询查看cpu信息 操作 文件相关常用命令开启/停止 `adb 服务`给`指定设备`发送命令`安装/卸载` apk导入/导出 `文件``截屏/录像``Activity`管理命令(ActivityManager)`Package`管理命令(PackageManager)获取`设备属性`查看`内存`信息`dumpsys` 获取系统数据查看手机系统`进程``输入法`相关使用 logcat 抓 `log` 信息`电量管理`相关命令使用 adb 命令进入 `recovery` 模式启动、跳过 Google `开机向导`查看CPU信息按下指定按键输入文本

参考文档 ADB 你想找的命令都在这里adb 常用命令 简介

ADB(Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序。

客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

adb 工具路径 android_sdk/platform-tools/

连接模拟器 ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。然后,服务器设置与所有运行的Android模拟器/Android 设备连接。

安装 Windows 下载 官网 经常被墙只下载我们需要的工具个人保存Android-sdk、adb tool 配置 platform-tools 目录的环境变量。 Ubuntu

apt安装

apt install android-tools-adb

查看接入ubuntu的设备

lsusb

创建adb_usb.ini文件,写入android设备的VID

cd ~/.android touch adb_usb.ini # 在adb_usb.ini文件中写入以下内容: 0x18d1

创建权限文件:touch /etc/udev/rules.d/70-android.rules

在70-android.rules文件中写入一下内容: UBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d002", MODE="0666"

重启usb服务

# 修改权限 chmod 666 /etc/udev/rules.d/70-android.rules service udev restart

重启adb服务

adb kill-server adb start-server

查看adb设备

adb devices Mac brew直接安装platform-tools brew cask install android-platform-tools 安装安卓sdk后配置环境变量 连接设备 真机

数据线连接

手机打开USB调试连接电脑

wifi连接

连接到同一wifi环境

先插线连接成功

adb tcpip 5555切换为tcpip模式,端口为5555,可修改

拔线

查看手机ip

使用命令连接

adb connect :5555 模拟器

连接不同虚拟机的虚拟端口

示例 # 示例,连接夜神模拟器 adb connect 127.0.0.1:62001 查看运行中模拟器端口号使用tasklist查看模拟器进程PID tasklist

image

使用netstat查看端口号占用 netstat -ano | findstr 官方提供的默认端口号 | 模拟器 | PORT | | ------------------ | ----- | | 夜神模拟器 | 62001 | | 逍遥安卓模拟器 | 21503 | | BlueStacks(蓝叠) | 5555 | | 雷电安卓模拟器 | 5555 | | 天天安卓模拟器 | 5037 | | 网页MuMu | 7555 | | 安卓模拟器大师 | 54001 | | Genymotion | 5555 | 使用详解 adb相关 开启/停止 adb 服务

开启服务

adb start-server

停止服务

adb kill-server

img

给指定设备发送命令

当电脑连接多个设备时,发出 adb 命令,必须指定一个设备

adb -s serial_number command # 例如 adb -s BY2XEE157 install path_to_apk 设备相关 查询 查看cpu信息 # 登陆到设备环境 adb shell # 查看cpu信息 cat /proc/cpuinfo

可能看到以下的cpu版本:

arm32位 ARMv7ARMv7s arm64位 AArch64ARMv8ARMv9 x86 IntelAMD 操作 文件相关 常用命令

参考文档

ADB 你想找的命令都在这里adb 常用命令MAC系统下ADB入门与简单使用 开启/停止 adb 服务

开启服务

adb start-server

停止服务

adb kill-server

给指定设备发送命令

当电脑连接多个设备时,发出 adb 命令,必须指定一个设备

adb -s serial_number command # 例如 adb -s BY2XEE157 install path_to_apk 安装/卸载 apk

安装apk

adb install

卸载apk

adb unstall

导入/导出 文件

导出手机文件

adb pull remote local

导入文件到手机

adb push local remote

截屏/录像

截屏

adb shell screencap 文件保存路径

录像

adb shell screenrecord 文件保存路径

按 Control + C 停止屏幕录制,否则,到三分钟或 --time-limit 设置的时间限制时,录制将自动停止。

但是有以下几个弊端:

最长只能录制3分钟录制的视频没有声音

screenrecord 部分参数

选项说明–size width x height设置分辨率 eg:1280x720–bit-rate rate视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4–time-limit time设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。 Activity管理命令(ActivityManager)

启动程序

# adb shell am start / adb shell am start com.smile.gifmaker/com.yxcorp.gifshow.HomeActivity

启动 Activity

adb shell am start -n 包名/类名

启动 service

adb shell am startservice 包名/类名

发送广播

adb shell am boradcast -a 广播Action

强行停止应用

# shell am force-stop adb shell am force-stop com.smile.gifmaker

Package管理命令(PackageManager)

启动apk

# adb shell am start / adb shell am start com.smile.gifmaker/com.yxcorp.gifshow.HomeActivity

强制退出apk

# shell am force-stop adb shell am force-stop com.smile.gifmaker

卸载 apk

adb shell pm uninstall 包名

查看手机中所有 apk 包名

adb shell pm list packages

查看已知权限组

adb shell pm list permission-groups

查看手机 Feature 支持

adb shell pm list features

根据包名,查看apk安装路径

adb shell pm path 包名

清除 app 数据

adb shell pm clear 包名

多用户相关

查看支持最多用户数

adb shell pm get-max-users

查询系统所有用户

adb shell pm list users

创建新用户

adb shell pm create-user user_name

移除指定id用户

adb shell pm remove-user user_id

获取设备属性

使用命令adb shell getprop +下面的属性,即可获取相应的属性

属性名含义ro.build.version.sdkSDK 版本ro.build.version.releaseAndroid 系统版本ro.product.model型号ro.product.brand品牌ro.product.name设备名 adb shell getprop ro.product.model vivo X9i 查看内存信息 adb shell dumpsys meminfo # 查看整个设备的内存信息 adb shell dumpsys meminfo pid # 查看指定进程的内存信息 adb shell dumpsys meminfo com.package.name # 查看指定应用的内存信息 ​``````bash dalvik:是指dalvik所使用的内存。 native:是被native堆使用的内存。应该指使用C\C++在堆上分配的内存。 VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS dumpsys 获取系统数据

获取当前运行的 activity

adb shell dumpsys activity | findstr Run

获取apk版本号、权限等信息的方法

adb shell dumpsys package com.xxx.xxx(包名)

查看手机系统进程

使用 top 命令查看系统进程

adb shell top

使用 ps 命令查看系统进程

adb shell ps

结合 findstr 命令过滤多余的信息

adb shell ps | findstr qq

输入法相关

获取已安装所有输入法

adb shell ime list -s

获取当前设备输入法

adb shell settings get secure default_input_method

设置输入法

adb shell ime set com.android/input # 或者 adb shell settings put secure default_input_method com.android/input 使用 logcat 抓 log 信息

使用 logcat 抓取 log 信息

adb logcat > 1.txt

使用 -s 过滤log标签

adb logcat -s 关注log标签

使用 -c 清除缓存log

adb logcat -c 电量管理相关命令

模拟拔下设备电源

adb shell dumpsys battery unplug

低电量条件下的行为

adb shell settings put global low_power 1

恢复电源修改

adb shell dumpsys battery reset

使用 adb 命令进入 recovery 模式

进入Recovery 模式可以使用组合键,也可以使用adb 命令 adb 命令进入recovery 模式如下adb reboot recovery

启动、跳过 Google 开机向导

跳过

adb shell pm disable com.google.android.setupwizard adb shell settings put global device_provisioned 1 adb shell settings put secure user_setup_complete 1

启动

adb shell am start com.google.android.setupwizard/.user.WelcomeActivity 查看CPU信息 # 登陆到设备环境 adb shell # 查看cpu信息 cat /proc/cpuinfo

可能看到以下的cpu版本:

arm32位 ARMv7ARMv7s arm64位 AArch64ARMv8ARMv9 x86 IntelAMD 按下指定按键 adb shell input keyevent 电话键 NAMEINFOCODEKEYCODE_CALL拨号键5KEYCODE_ENDCALL挂机键6KEYCODE_HOME按键Home3KEYCODE_MENU菜单键82KEYCODE_BACK返回键4KEYCODE_SEARCH搜索键84KEYCODE_CAMERA拍照键27KEYCODE_FOCUS拍照对焦键80KEYCODE_POWER电源键26KEYCODE_NOTIFICATION通知键83KEYCODE_MUTE话筒静音键91KEYCODE_VOLUME_MUTE扬声器静音键164KEYCODE_VOLUME_UP音量增加键24KEYCODE_VOLUME_DOWN音量减小键25 控制键 NAMEINFOCODEKEYCODE_ENTER回车键66KEYCODE_ESCAPEESC键111KEYCODE_DPAD_CENTER导航键 确定键23KEYCODE_DPAD_UP导航键 向上19KEYCODE_DPAD_DOWN导航键 向下20KEYCODE_DPAD_LEFT导航键 向左21KEYCODE_DPAD_RIGHT导航键 向右22KEYCODE_MOVE_HOME光标移动到开始键122KEYCODE_MOVE_END光标移动到末尾键123KEYCODE_PAGE_UP向上翻页键92KEYCODE_PAGE_DOWN向下翻页键93KEYCODE_DEL退格键67KEYCODE_FORWARD_DEL删除键112KEYCODE_INSERT插入键124KEYCODE_TABTab键61KEYCODE_NUM_LOCK小键盘锁143KEYCODE_CAPS_LOCK大写锁定键115KEYCODE_BREAKBreak/Pause键121KEYCODE_SCROLL_LOCK滚动锁定键116KEYCODE_ZOOM_IN放大键168KEYCODE_ZOOM_OUT缩小键169 组合键 NAMEINFOCODEKEYCODE_ALT_LEFTAlt+LeftKEYCODE_ALT_RIGHTAlt+RightKEYCODE_CTRL_LEFTControl+LeftKEYCODE_CTRL_RIGHTControl+RightKEYCODE_SHIFT_LEFTShift+LeftKEYCODE_SHIFT_RIGHTShift+Right 基本 NAMEINFOCODEKEYCODE_0按键’0’7KEYCODE_1按键’1’8KEYCODE_2按键’2’9KEYCODE_3按键’3’10KEYCODE_4按键’4’11KEYCODE_5按键’5’12KEYCODE_6按键’6’13KEYCODE_7按键’7’14KEYCODE_8按键’8’15KEYCODE_9按键’9’16KEYCODE_A按键’A’29KEYCODE_B按键’B’30KEYCODE_C按键’C’31KEYCODE_D按键’D’32KEYCODE_E按键’E’33KEYCODE_F按键’F’34KEYCODE_G按键’G’35KEYCODE_H按键’H’36KEYCODE_I按键’I’37KEYCODE_J按键’J’38KEYCODE_K按键’K’39KEYCODE_L按键’L’40KEYCODE_M按键’M’41KEYCODE_N按键’N’42KEYCODE_O按键’O’43KEYCODE_P按键’P’44KEYCODE_Q按键’Q’45KEYCODE_R按键’R’46KEYCODE_S按键’S’47KEYCODE_T按键’T’48KEYCODE_U按键’U’49KEYCODE_V按键’V’50KEYCODE_W按键’W’51KEYCODE_X按键’X’52KEYCODE_Y按键’Y’53KEYCODE_Z按键’Z’54 输入文本 adb shell input text hello


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有