Android 之 ADB基本命令

ADB (Android Debug Bridge) 方便开发调试。。。

ADB环境变量配置

  • 找到文件 sdk 下的 tools 和 platform-tools ,并复制其路径
  • 新建系统变量,命名为 ADB_HOME,并将上述两个路径分别导入,中间用;隔开
  • 打开Path变量,输入%Android_ADB%
  • 重启AndroidStudio打开终端,输入 adb ,出现帮助信息,完成配置
  • adb基本语法
    adb [-d|-e|-s ]
    • -d,-e -s意义
关键字 描述
-d 指定当前唯一通过 USB 连接的 Android 设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s 指定相应 序列号(serialNumber)的设备/模拟器为命令目标
如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s ] 这一部分,直接使用adb
如果有多个设备/模拟器连接时,最方便的就是用-s 指定相应 序列号(serialNumber)的设备/模拟器为命令目标
  • adb序列号的获取$ adb get-serialno

    获取设备序列号

  • 通过指定序列号获取设备版本$ adb -s 序列号 version

    获取设备版本

以下命令按照只有一个设备连接时的操作(如有多个设备可按照上面指定)
  • 获取设备序列号$ adb get-serialno
  • 查看版本$ adb version
  • 查看已连接的设备与莫模拟器$ adb devices
  • 安装一个APK$ adb install
关键字 描述
-r 允许覆盖安装。
-s 将应用安装到 sdcard
-d 允许降级覆盖安装
  • 安装结果Success成功Failure失败

  • 保留数据和缓存文件,重新安装$ adb install -r adbDemo.apk

  • 安装到SD卡$ adb install -s adbDemo.apk

  • 安装时:

    • 当前目录下:$ adb install adbDemo.apk
    • 不在当前目录下:$ adb install D:\Demo\adbDemo.apk
  • 卸载APK文件$ adb uninstall
    • 直接完全卸载一个APK$ adb uninstall com.android.adbdemo
    • 卸载APK但是保留数据和缓存文件$ adb uninstall -k com.android.adbdemo
  • 获取MAC地址$ adb shell cat/sys/class/net/wlan0/address
  • 查看设备型号$ adb shell getprop ro.product.model
  • 查看Android系统版本$ adb shell getprop ro.build.version.release
  • 查看设备屏幕分辨率$ adb shell wm size
  • 查看屏幕密度$ adb shell wm density
  • 查看应用列表的基本命令格式是adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
    关键字 描述
    -f 显示应用关联的 apk 文件
    -d 只显示禁用( disabled) 的应用
    -e 只显示 启用(enabled) 的应用
    -s 只显示系统应用
    -3 只显示第三方应用
    -i 显示应用的 安装程序(installer)
    -u 包含已卸载应用
    - 包名包含 字符串
    • 列出手机装的所有APP的包名$ adb shell pm list packages
    • 列出除了系统应用的第三方应用包名$ adb shell list packages -3
    • 列出包名包含某字符串的应用包名$ adb shell list packages adbdemo
      • 也可以根据包名实现过滤,不想显示包含某字段包名的应用(过滤关键字grep)$ adb shell pm list packages | grep adbdemo
  • 查看某个应用的启动入口Activity$ adb shell dumpsys package
  • 启动指定的某个Activity(adb shell am start -n package(包名)/launch activity(目标Activityl路径))
    • adb shell am start -n com.test.pack/com.test.pack.TestActivity
  • 清除应用数据缓存$ adb shell pm clear

    *如:$ adb shell pm clear com.android.adbdemo

  • 强行停止应用(一般用于应用卡死时)$ adb shell force -stop

    *如:$ adb shell force -stop com.android.adbdemo

  • 启动/停止Server(一般这两个命令基本不会用到)
    • 启动$ adb start-server
    • 停止$ adb kill-server
  • 抓取手机日志
    • adb bugreport
  • 导出手机中已安装的apk(如:com.test.pack为我需要导出的应用的包名)
    • adb shell pm path com.test.pack拿到对应的路径(如:/system/priv-app/DeviceTest/DeviceTest.apk
    • adb pull /system/priv-app/DeviceTest/DeviceTest.apk C:\Users\Administrator\Desktop\将对应的路径下的拉出来到指目录就可
  • 发送文件到设备(本地文件C:\Users\Administrator\Desktop\text.txt,设备上的路径/sdcard/test/)
    • adb push C:\Users\Administrator\Desktop\text.txt /sdcard/test/
  • 设备目录下所有文件 拉出来
    • adb pull /sdcard/test/
  • adb 模拟发送广播
    • adb shell am broadcast [-a][-d][-t][-a][-a][-a]...
    • eg:adb shell am broadcast -a "com.action.TEST" --es str "你好,我的祖国!"(广播Action:"com.action.TEST")
    关键字 描述
    -a
    -d
    -t
    -c [-c ] ...
    -e --es ... --ez ... --ei ...
    -n
    -f ] [
  • 回到系统主界面$ adb shell am start -n com.android.launcher3/.Launcher
  • 重启设备$ adb reboot
  • 将system分区重新挂载为可读写分区$ adb remount
  • 向设备输入文本(光标所在的文本框)$ adb shell input text
  • 向设备发送按键事件$ adb shell input keyevent

......

行了,就到这里吧,得赶紧睡觉了。。。。。。。。。

你可能感兴趣的:(Android 之 ADB基本命令)