# adb

ADB 是 Android Debug Bridge 的缩写,是一种用于在 Android 设备和计算机之间进行通信的命令行工具。ADB 可以用于调试和测试 Android 应用程序,以及在 Android 设备上执行各种操作,如安装和卸载应用程序、复制文件、查看设备日志等。

# 将 adb 变成全局可用命令:

  1. 配置环境变量: sudo gedit ~/.zshrc (注意,是使用的是哪个 shell 就编辑哪个 shell resource 文件)
  2. 添加参数变量:
    1. #Android SDK
      export SDK_PATH=/home/Android/Sdk
      export PATH=/home/Android/Sdk/platform-tools:${PATH}
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      3. 生效配置:`source ~/.zshrc`

      另一种方法 : 进入目录 /usr/local/bin/ :`sudo ln -s /home/Android/Sdk/platform-tools/adb`

      *`ln`**命令:link files,为某一个文件在另外一个位置建立一个同步的链接。*

      ## adb常用命令:

      - 查看连接设备:`adb devices`
      - 启用交互模式:`adb shell`
      - 获得系统权限:`adb root`
      - 将 '/system' 部分置于可写入的模式,默认情况下 '/system' 部分是只读模式的:`adb remount`
      - 文件
      - 设备文件复制到本机;
      - 本机复制到设备:
      - bugreport保存位置(不指定默认是保存在手机本地目录):`adb bugreport /home/xxx`
      - 屏幕截图
      - `adb exec-out screencap -p > /home/xxx/xx.png`
      - `adb shell screencap -p > /home/xxx/xx.png`
      - 获取当前活动的类名和包名
      - `adb shell dumpsys window | grep mCurrentFocus`

      使用sqlite遇到的问题解决: /system目录为只读,需要 adb remount来开写权限

      ```bash
      # 启动交互式 shell
      adb shell
      # 获取系统权限
      adb root
      # 将 '/system' 部分置于可写入的模式,默认情况下 '/system' 部分是只读模式的。
      adb remount
      # 从设备中复制某个文件或目录(及其子目录)
      adb pull remote local
      # 将本地文件复制到设备
      adb push local remote
      # 截图
      adb shell screencap -p > /home/基础模式.png
      # 安装apk
      adb install -r 安装包路径

# 工作用到的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
adb root
adb devices
adb kill-server
adb start-server
adb devices -l | grep offline | awk '{print $1}' | xargs -n1 adb -s rm
adb devices -l | grep offline | xargs -n1 adb -s rm
adb -s rm emu
adb -s emulator-5556 emu kill
adb -s emulator-5556 emu kill -9
adb -s emulator-5556 emu kill emulator-5556
adb shell
adb push /usr/bin/sqlite3 /system/xbin
adb shell chmod 4755 /system/xbin/sqlite3
adb push /bin/sqlite3 /system/xbin
adb disable-verity
adb reboot
adb remount
adb sell pm list packages
adb shell pm list packages
adb shell pm list packages -s
adb logcat | grep -i "XXX"
adb get-serialno
adb shell getprop ro.product.model
adb shell wm density
adb shell dumpsys -h
adb su
adb reboot bootloader
adb sevices
adb devicecs
adb shell mount -o rw,remount /system
adb push charles.0 /system/etc/security/cacerts
adb push 386e7bc3.0 /system/etc/security/cacerts
adb shell ls /system/etc/security/cacerts
adb shell
adb reboot
adb shelljmount -0 rw,remount /system
adb shell p, list packages -3
adb shell pm list packages -3
adb shell pm uninstall --user 0 com.android.browser
adb bugreport 1447
adb bugreport bugreport
adb bugreport bugreport-2
adb install -r jiameng.apk
adb shell dumpsys window | grep mCurrentFocus
adb install -r ./app/build/outputs/apk/debug/app-debug.apk\n
adb uninstall -d com.tenxx.xcx
adb install -t ./toStartOf.apk
adb push ~/文档/386e7bc3.0 /system/etc/security/cacerts
adb shell am start -a android.intent.action.VIEW -d 'scheme://details?id=com.tencent.mm\n\n\n'

更新于 阅读次数 本文阅读量:

请我喝[茶]~( ̄▽ ̄)~*

Windlinxy 微信支付

微信支付

Windlinxy 支付宝

支付宝