首页 > 其他分享 >adb命令大全(含高级用法,均已实际使用验证)

adb命令大全(含高级用法,均已实际使用验证)

时间:2024-04-05 14:58:05浏览次数:17  
标签:sideload shell 查看 用法 adb 大全 安装 设备

目录

Android 调试桥 (adb)

Ubuntu系统安装adb

adb命令基础用法

adb命令高级用法


Android 调试桥 (adb)

ADB 是一款多功能命令行工具,可让你通过 USB 或 Wi-Fi 与 Android 设备通信。它用于各种任务,包括:

  • 调试应用程序
  • 安装和卸载应用
  • 传输文件
  • 检索设备信息
  • 运行 shell 命令

Ubuntu系统安装adb

  1. 安装 Android SDK Platform Tools
    sudo apt install android-tools-adb
    

  2. 验证安装
    adb version
    

    应该会看到类似以下内容的输出:

    Android Debug Bridge version 1.0.41
    Version 33.0.3-8889513
  3. 将adb添加到环境变量
    要从任何位置使用 adb,需要将 adb 目录添加到 PATH 变量中。编辑 .bashrc 文件:
    vim ~/.bashrc
    

    在文件的末尾添加以下行:

    export PATH=$PATH:/usr/lib/android-sdk/platform-tools
  4. 重新加载.bashrc文件
    source ~/.bashrc
    

adb命令基础用法

注意:使用 adb 命令需要在设备上启用 USB 调试。位于开发者模式中

  1. 查看连接设备
    adb devices
    
    //列出已连接设备的详细信息
    adb devices -l
    
    //指定设备执行命令
    adb devices -s <serial_number> <cmd>
    //这里的serial_number 就是通过devices列出的序列号 cmd是想要执行的命令
    //例如 adb devices -s c5d1ed6baec1e896 shell 进入指定设备的shell
  2. 安装应用
    adb install <path_to_apk>
    
    //安装应用到sd卡,对于内部存储空间不足的设备很有用
    adb isntall -r <path_to_apk>
    
  3. 卸载应用
    adb uninstall <package_name>
    //注意这里是包名,不是install时的文件名
    //查看所有包名命令 adb shell pm list packages
    
    //卸载应用但保留数据
    adb uninstall -k <package_name>
  4. 启动服务
    adb shell start service <service_name>
    //eg. adb shell start service wifi
    //需要root权限
  5. 进入root权限
    adb root
    
  6. 重新挂载分区(vendor/system可写)
    adb remount
    //一般开发时和root同时执行
    //adb root && adb remount
  7. 查看设备实时日志
    adb logcat
    //可与过滤同时使用 
    adb logcat | grep xxx //Ubuntu下 
    adb logcat | findstr xxx //Windows下 
    
    //常用 
    adb logcat -v color //按log等级色彩区分
    adb logcat -c //清除log 
    adb logcat | grep need > log.txt //组合使用并重定向到文件
  8. 从设备中拉取/向设备中推送文件
    adb pull <remote> <local>  //拉取
    adb push <local> <remote>  //推送
    
    //eg. 将key.txt push到data下
    adb push key.txt /data/check
  9. 重启设备
    adb reboot
    //后面还有重启到何种模式,在高级用法中。
  10. 通过wifi连接/断开设备
    adb connect <device-ip>
    adb disconnect <device-ip>
    //设备ip通过 adb shell ifconfig获取
  11. 进入设备shell
    adb shell
    //进入shell后支持linux文件操作命令,ls、cd 、mv、cp、rm、mkdir、touch等
    //也可以直接adb shell rm xxx 类似这种使用,不进入到shell中。
  12. 查看版本
    adb version
  13. 查看帮助手册
    adb help
  14. 查看设备上运行的进程
    adb shell ps
    

adb命令高级用法

  1. 模拟按键输入
    adb shell input keyevent <key_code>
    //例如 adb shell input keyevent 5, 输入一个数字5等
  2. 获取设备屏幕截图
    adb shell screencap -p /sdcard/screenshot.png
    //存在设备sd卡中
    //可以通过基础用法中adb pull拉出
    adb pull /sdcard/screenshot.png
    
  3. 录制屏幕
    adb shell screenrecord /sdcard/demo.mp4
  4. 查看设备CPU信息
    adb shell cat /proc/cpuinfo
  5. 重启模式
    adb reboot bootloader //重启设备进入 bootloader 模式
    adb reboot recovery   //重启设备进入恢复模式

    Bootloader 模式是一个特殊软件界面,允许你对设备进行低级修改,例如:
        解锁 bootloader
        刷写自定义恢复
        安装自定义 ROM
        降级或升级固件

    注意:
        进入 bootloader 模式可能会擦除设备上的所有数据。请确保在继续之前已备份重要数据。
        并非所有设备都支持 bootloader 解锁。
        修改 bootloader 可能会使你的设备保修失效。

    恢复模式是一个特殊启动分区,允许你对设备进行故障排除和维护任务,例如:

        恢复出厂设置
        应用系统更新
        安装自定义 ROM 或恢复
        擦除缓存分区
        修复软件问题

  6. 手动安装OTA下载包
    adb sideload <file.zip>
    
    //adb sideload 命令用于将 OTA(空中下载)更新包(通常称为 sideload 包)手动安装到连接的Android 设备上。它允许你安装未通过 Google Play 商店提供的自定义 ROM、内核或其他软件更新。
    //<package.zip>:要安装的 OTA 更新包的路径。
    //要安装名为 lineage-19.1-20230214-nightly-raven-signed.zip 的 LineageOS 19.1 sideload 包,请使用以下命令:
    
    adb sideload lineage-19.1-20230214-nightly-raven-signed.zip
    
    
    //注意:
    //    设备必须处于恢复模式或允许 adb sideload 的自定义恢复模式中。
    //    sideload 包必须与设备的型号和当前软件版本兼容。
    //    sideload 过程可能需要一些时间,具体取决于包的大小和设备的速度。
    
  7. 启动设备上的程序或活动
    adb shell am start <package-name/activity-name>
  8. 强制停止设备上的应用程序
    adb shell am force-stop <package-name>
    //和上面的启动一般用于调试阶段
  9. 列出所有安装的包名
    adb shell pm list packages
    
    //只列出第三方应用包名
    adb shell pm list packages -3
  10. 查看性能指标
    adb shell top -m 5 //查看设备上CPU使用率最高的前5个进程
    //但其实这是linux top命令的用法,只是通过adb shell可以在设备外执行并反馈结果。
    
  11. 端口转发
    adb forward tcp:10000 tcp:5555
    //将设备上的端口转发到本地计算机的端口。这对于调试和访问设备上的服务非常有用。例如,要将设备上的端口 5555 转发到本地计算机上的端口 10000
  12. TCP 转发
    adb tcpip 5555
    adb connect localhost:5555
    //可以使用 ADB 在设备和本地计算机之间创建 TCP 连接。这对于与设备上的应用程序通信非常有用。例如,要创建从本地计算机端口 10000 到设备端口 5555 的 TCP 连接。
  13. 结束进程
    adb shell kill <pid>
    //可以通过进程ID(pid)来结束某个进程。
    //查看pid命令: adb shell ps
    
  14. 模拟屏幕触控
    adb shell input tap x y
    //在屏幕上模拟点击事件,其中x和y是屏幕坐标。
  15. 发送广播意图
    adb shell am broadcast -a <action>
  16. 记录设备触摸事件
    adb shell getevent
  17. 输入文本
    adb shell input text <text_string>
    //在当前焦点输入框中输入文本
  18. 查看设备网络连接状态
    adb shell netstat 
  19. 查看系统属性
    adb shell getprop
  20. 设置系统属性
    adb shell setprop <property> <value>

以上命令涵盖了日常开发使用到的百分之95以上,有遗漏后续想到再添加。

标签:sideload,shell,查看,用法,adb,大全,安装,设备
From: https://blog.csdn.net/hkj887tg/article/details/137264562

相关文章

  • fetch的基本用法
    1.基本的GET请求fetch('https://api.example.com/data').then(response=>{if(!response.ok){thrownewError('Networkresponsewasnotok'+response.statusText);}returnresponse.json();}).then(data=>......
  • 【WPF应用35】深度解析WPF中的TreeView控件:功能、用法、特性与最佳实践
    WPF(WindowsPresentationFoundation)是微软推出的一个用于构建桌面应用程序的图形子系统。在WPF中,TreeView是一种常用的树形控件,用于显示层次结构的数据显示。本文将详细介绍WPF中的TreeView控件,并提供一个简单的示例。一、TreeView控件的基本概念TreeView控件用于显示一......
  • c++排序大全
    1#include<iostream>2usingnamespacestd;3intmain(){4inta[10]={3,6,1,5,4,8,7,10,9,2};5for(intj=0;j<9;j++){6for(inti=j+1;i<10;i++){7if(a[j]>a[i]){8swap(a[j],a[i]);9......
  • adb shell input keyevent
    adbshellinputkeyevent命令用于模拟物理按键的输入事件,其参数是按键的键码(keycode)。键码是一个整数值,代表不同的按键,具体的键码可以在Android官方文档中找到 以下是Android系统中键码列表:KEYCODE_UNKNOWN(0):未知键码KEYCODE_SOFT_LEFT(1):左软键KEYCODE_SOFT......
  • java毕业设计大全
     链接:Java毕业设计列表2600套包含论文vx:Lunique0129  文档较大,请耐性等待,可用电脑打开,(CTRL+F)精准搜索题目关键词查询需要源码的同学添加微信,你有题目我就有项目包安装运行成功(两千多套)Java课程设计学习参考,对学计算机的大学生来说非常适合学习与参考。持续更新中。。......
  • MySQL 中 GROUP_CONCAT() 用法
    GROUP_CONCAT是一种SQL聚合函数,用于将组内的多个值连接成一个字符串,并以指定的分隔符分隔这些值。在MySQL中,GROUP_CONCAT可以用于将多个行的值合并成一个字符串,并返回该字符串。以下是GROUP_CONCAT的基本语法:SELECTcolumn1,GROUP_CONCAT(column2SEPARATOR',')ASco......
  • Pytorch torch.utils.data.DataLoader 用法详细介绍
    文章目录1.介绍2.参数详解3.用法4.参考1.介绍torch.utils.data.DataLoader是PyTorch提供的一个用于数据加载的工具类,用于批量加载数据并为模型提供输入。它可以将数据集包装成一个可迭代的对象,方便地进行数据加载和批处理操作。PytorchDataLoader的详细官......
  • free函数的用法和注意事项
    1.定义函数free是C语言中的一个库函数,用于释放动态分配的内存。free函数的用法如下:voidfree(void*ptr);2.注意事项:1.只能释放由malloc、calloc、realloc函数分配的内存空间,不能释放其他类型的内存。2.不能释放已经被释放过的内存。3.释放内存后,不要再使用该内存空......
  • docker里面安装mariadb,设置用户名密码,登录mariadb
    5.启动Docker服务并设置开机自启动:  ```  sudosystemctlstartdocker  sudosystemctlenabledocker  ```###步骤2:在Docker中安装Nginx1.拉取Nginx镜像:  ```  sudodockerpullnginx  ```2.运行Nginx容器:  ```  sudo......
  • PowerShell和DISM命令的组合用法,用于进行 Windows 映像的管理、部署和维护。通过结合
    PowerShell和DISM(DeploymentImageServicingandManagement)命令可以结合使用来进行Windows映像的部署、安装、更新和配置等操作。以下是一些常见的PowerShell和DISM命令的组合用法:安装和更新Windows功能:使用 Install-WindowsFeature cmdlet安装Windows功能,结合DISM......