adb教程(很详细) | 您所在的位置:网站首页 › adb手机刷机教程 › adb教程(很详细) |
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 目录的环境变量。 Ubuntuapt安装 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开启服务 adb start-server停止服务 adb kill-server当电脑连接多个设备时,发出 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启动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进入Recovery 模式可以使用组合键,也可以使用adb 命令 adb 命令进入recovery 模式如下adb reboot recovery 跳过 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 实验室设备网 版权所有 |