安卓特有的adb调试桥命令使用手册

Intro

  1. ADB介绍
  2. ADB常用命令合集
  3. ADB扩展命令
  4. 注意事项
  5. 下载ADB的接种方式
  6. 结语

adb的全称为Android Debug Bridge,就是起到调试桥的作用,也就是说,安卓手机和电脑设备中间的桥梁。通过adb我们可以使用电脑操控安卓手机调试Android程序

adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯

adb是 android SDK里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如nessus 5x手机).  它的主要功能有:

* 运行设备的shell(命令行)

* 管理模拟器或设备的 端口映射

* 计算机和设备之间上传/下载/删除文件

* 将本地apk软件安装至模拟器或Android设备

ADB是一个 客户端–服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是Android设备.

adb常用命令合集

adb shell 连接真机/模拟器终端

adb devices  列出连接的设备(-l表示长输出)

adb -s 1234567890  当多个设备及模拟器运行时 连接指定设备

adb start-server  开启adb服务

adb kill-server  关闭adb服务,杀掉进程

adb shell reboot   重启手机

adb shell reboot fastboot  重启手机并启动fastboot模式

adb shell wipe data  擦除data,即恢复出厂设置

adb remount ,意思是将设备改为可读可写,显示remount succeeded就代表命令执行成功  有些设备并不能直接adb remount,必须要先以root身份进入,先执行adb root,在执行adb remount

adb pull 手机文件路径 电脑目标路径

adb push 电脑文件路径 手机目标路径

adb uninstall <软件名> 卸载软件且删除配置和缓存文件 

adb uninstall -k <软件名>  如果加 -k参数,  为卸载软件 但是保留配置和缓存文件

adb connect 设备ip:5555(如:192.168.1.81;5555) 安装WiFiAdb.apk  wifiadb会提供ip的端口号 即可完成 连接

adb shell pm list package 查询已安装包名列表

adb shell pm list package -s   列出系统应用

adb shell pm list package -3   列出第三方的应用

adb shell pm list package -i   列出来源

adb shell pm list package -f   列出包名和路径

adb shell pm path packagename   列出应用apk的位置

adb shell pm dump packagename   列出应用的详细信息

adb shell pm clear (apk包名) 清除应用数据与缓存

adb shell am start -n com.android.browser/.BrowserActivyty   启动指定activity

adb shell am start -S activityname  先停止应用再启动

adb shell am force-stop packagename   结束应用

adb shell am kill	                 杀指定后台进程

adb shell am kill-all	              杀所有后台进程

adb shell am force-stop Package(包名)	强杀进程

adb shell dumpsys activity | find "mF"  指定查询"mF"的activity信息

adb get-serialno  获取设备的ID和序列号

扩展命令:

调试:

 bugreport [PATH]

将错误报告写入给定的PATH[default==bugreport.zip];

如果PATH是一个目录,那么错误报告将保存在该目录中。

不支持压缩错误报告输出到stdout的设备。

jdwp              列出托管jdwp传输的进程的pid

logcat            显示设备日志(logcat--有关更多信息的帮助)

网络:
 connect HOST[:PORT]   通过TCP/IP连接到设备[默认端口=5555]
 
 disconnect [HOST[:PORT]]   断开与给定TCP/IP设备的连接[默认端口=5555],或全部
 
 forward --list  列出所有socket连接
  
forward [--no-rebind] LOCAL REMOTE
  
  tcp:<port>(<local>可以是“tcp:0”以选择任何打开的端口)

  localabstract:<unix域套接字名称>

  localreserved:<unix域套接字名称>

  本地文件系统:<unix域套接字名称>

  dev:<字符设备名称>

  jdwp:<进程pid>(仅限远程)
  
   forward --remove LOCAL  删除特定的socket连接
   forward --remove-all    删除所有socket连接
 
 
备份/恢复:

  backup [-f FILE] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [PACKAGE...]
  
  将设备数据的存档写入FILE[default=backup.adb]
  
 如果提供了-all/-shared,则包列表是可选的
 
 
   -apk/-noapk:        备份/不备份.apk文件       (default -noapk)
   -obb/-noobb:        备份/不备份.obb文件       (default -noobb)
   -shared|-noshared: 备份/不备份共享存储         (default -noshared)
   -all:备份所有已安装的应用程序
   -system|-nosystem: 包括/不包括所有系统应用程序  (default -system)
 restore FILE            从指定目录恢复设备内容

adb install 扩展命令

安装[-lrtsdg]程序包

安装多个[-lrtsdpg]程序包。。。

将软件包推送到设备并安装

-l: 正向锁定应用

-r: 替换现有应用程序

-t: 允许测试包

-s: 在SD卡上安装应用程序

-d: 允许版本代码降级(仅限可调试的包)

-p: 部分应用程序安装(仅安装多个)

-g: 授予所有运行时权限

卸载[-k]程序包

从设备中删除此应用程序包

“-k”:保留数据和缓存目录

注意:

需要注意的事情事,在adb shell 连接手机以后,就是linux命令去操作手机,以上的命令是直接运行的,部分命令在连接手机以后,省略adb shell 即可执行命令,

下载adb的几种方式

N5x 配套adb

https://dl-ssl.google.com/android/repository/latest_usb_driver_windows.zip

SDK Platform-Tools 替换adb

https://developer.android.com/studio/releases/platform-tools?hl=zh-cn

Linux下安装

apt install adb

结语:

使用ADB可以强行删除系统预装的软件,也可以备份恢复手机里的软件,也可以强制停止指定正在运行的安卓程序,也可以debug模式启动APP来调试app,ADB在app逆向中主导着不可或缺的地位。

猜你喜欢

转载自blog.csdn.net/qq_41100456/article/details/130211788
今日推荐