ADB (Android Debug Bridge) 方便开发调试。。。
ADB环境变量配置
- 找到文件 sdk 下的 tools 和 platform-tools ,并复制其路径
- 新建系统变量,命名为 ADB_HOME,并将上述两个路径分别导入,中间用;隔开
- 打开Path变量,输入%Android_ADB%
- 重启AndroidStudio打开终端,输入 adb ,出现帮助信息,完成配置
- adb基本语法
adb [-d|-e|-s <serialNumber>] <command>
- -d,-e -s意义
关键字 | 描述 |
---|---|
-d | 指定当前唯一通过 USB 连接的 Android 设备为命令目标 |
-e | 指定当前唯一运行的模拟器为命令目标 |
-s | 指定相应 序列号(serialNumber)的设备/模拟器为命令目标 |
如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s <serialNumber>]
这一部分,直接使用adb <command>
如果有多个设备/模拟器连接时,最方便的就是用-s 指定相应 序列号(serialNumber)的设备/模拟器为命令目标
-
adb序列号的获取
$ adb get-serialno
获取设备序列号 -
通过指定序列号获取设备版本
$ adb -s 序列号 version
获取设备版本
以下命令按照只有一个设备连接时的操作(如有多个设备可按照上面指定)
-
获取设备序列号
$ adb get-serialno
-
查看版本
$ adb version
-
查看已连接的设备与莫模拟器
$ adb devices
-
安装一个APK
$ adb install <apkfile>
关键字 | 描述 |
---|---|
-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 <package>
- 直接完全卸载一个APK
$ adb uninstall com.android.adbdemo
- 卸载APK但是保留数据和缓存文件
$ adb uninstall -k com.android.adbdemo
- 直接完全卸载一个APK
-
获取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 包含已卸载应用 -<FILTER> 包名包含 <FILTER> 字符串 -
列出手机装的所有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 <packegename>
*如:
$ adb shell pm clear com.android.adbdemo
-
强行停止应用(一般用于应用卡死时)
$ adb shell force -stop <packagename>
*如:
$ 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 <ACTION> -d <DATA_URI> -t <MIME_TYPE> -c <CATEGORY> [-c <CATEGORY>] ... -e --es <EXTRA_KEY> <EXTRA_STRING_VALUE> ... --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ... --ei <EXTRA_KEY> <EXTRA_INT_VALUE> ... -n <COMPONENT> -f <FLAGS>] [<URI> -
回到系统主界面
$ adb shell am start -n com.android.launcher3/.Launcher
-
重启设备
$ adb reboot
-
将system分区重新挂载为可读写分区
$ adb remount
-
向设备输入文本(光标所在的文本框)
$ adb shell input text <string>
-
向设备发送按键事件
$ adb shell input keyevent <event_code>
......
行了,就到这里吧,得赶紧睡觉了。。。。。。。。。