# adb
ADB 是 Android Debug Bridge 的缩写,是一种用于在 Android 设备和计算机之间进行通信的命令行工具。ADB 可以用于调试和测试 Android 应用程序,以及在 Android 设备上执行各种操作,如安装和卸载应用程序、复制文件、查看设备日志等。
# 将 adb 变成全局可用命令:
- 配置环境变量:
sudo gedit ~/.zshrc
(注意,是使用的是哪个 shell 就编辑哪个 shell resource 文件) - 添加参数变量:
#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'
|