1、下载ADB工具,而后安装
在cmd命令行中,输入adb看看行不行,假如提示找不到命令或者文件,在环境变量的path中,增长安装目录html
2、电脑与盒子在同一路由器下(同网段)android
3、获取盒子IP 盒子桌面->应用->设置->网络.蓝牙->网络状态,这里就能够看到IPgit
4、命令github
启动CMD shell
adb connect 盒子IP
安装应用:windows
adb install xxx.apk
删除应用:网络
adb uninstall com.tencent.mobileqq
或者进入shell的方式app
adb shell pm uninstall --user 0 com.feixun.dangbeimarket exit
断开链接:less
adb disconnect
adb详细介绍:tcp
adb全名Andorid Debug Bridge. 顾名思义, 这是一个Debug工具.
然而, 为什么称之为Bridge呢? 由于adb是一个标准的CS结构的工具, 是要链接开发电脑和你的调试手机的.包含以下几个部分:
列举当前链接的调试设备
$ adb devices List of devices attached DU2SSE1467010378 device
打印log信息
指令 | 说明 | 备注 |
---|---|---|
adb logcat | 打印log | / |
adb logcat -c | 清除手机的log buffer | 有些手机权限控制, 不支持. |
adb logcat -b <buffer> | 打印指定buffer的log信息 | buffer有: main(主log区,默认), events(事件相关的log), radio(射频, telephony相关的log) |
adb logcat -v <format> | 格式化输出log | 经常使用的用adb logcat -v time显示时间 |
adb logcat -f <filename> | 输出log到指定文件 |
安装卸载apk
// 安装apk时指定apk file路径 $ adb install ~/Downloads/mobileqq_android.apk [100%] /data/local/tmp/mobileqq_android.apk pkg: /data/local/tmp/mobileqq_android.apk Success // 卸载apk时指定包名 $ adb uninstall com.tencent.mobileqq Success
调试设备和开发PC之间拷贝文件.
// 拷贝本地文件到调试设备中 $ adb push ~/temp/GithubApp.trace /sdcard/ [100%] /sdcard/GithubApp.trace // 从调试设备中拷贝文件到本地 $ adb pull /sdcard/GithubApp.trace ~/ [100%] /sdcard/GithubApp.trace
启动/杀死adb简介中提到的Server端进程.
因为adb并不稳定, 有时候莫名的问题掉线时, 能够先kill-server, 而后start-server来确保Server进程启动. 每每能够解决问题.
进入调试设备的shell界面, 此时可使用调试设备中的不少指令. 下文高阶用法中不少就是.
$ adb shell shell@hwH60:/ $
经过wifi进行远程链接手机进行调试的.
https://developer.android.com/studio/command-line/adb.html#wireless
需先连上usb模式, 开启远程调试模式:
$ adb tcpip 5555
am即activity manager.
该命令用来执行一些系统动做, 例如启动指定activity, 结束进程, 发送广播, 更改屏幕属性等. 调试利器.
指令 | 说明 | 备注 |
---|---|---|
start <Intent> | 根据intent指向启动Activity | Intent能够是显示的指向activity, 也能够是ACTION方式, 而且能够添加flag, data等参数信息. |
startservice <Intent> | 启动Service | 能够添加flag, data等参数信息. |
broadcast <Intent> | 发送广播 | 能够添加flag, data等参数信息. |
monitor | 启动一个Crash和ANR的监听器 | 若有Crash或ANR会在控制台输出相关信息. |
force-stop <Package> | 强制中止该包相关的一切 | 传入package name. |
kill <Package> | 杀死该包相关的全部进程 | 传入package name. |
kill-all | 杀死全部后台进程 | |
display-size WxH | 改变显示的分辨率 | 例如adb shell am display-size 1280x720, 手机可能不支持. |
display-density <dpi> | 改变显示的density | 例如adb shell am display-density 320, 手机可能不支持. |
pm即package manager.
用来执行package相关的操做, 例如安装卸载, 查询系统的安装包等.
指令 | 说明 | 备注 |
---|---|---|
list packages <Filter> | 列出知足filter条件的全部包 | |
list permissions <Group> | 列出该Group的全部权限 | |
list features | 查看系统支持哪些feature | 例如蓝牙, wifi, 摄像头等. |
install <Path>/uninstall <Package> | 安装卸载 | |
clear <Package> | 清除应用数据 |
截屏, 比截屏快捷键更加方便快捷.
$ adb shell screencap /sdcard/screen.png $ adb pull /sdcard/screen.png ~/temp [100%] /sdcard/screen.png
录屏, 作demo的话, 能够很方便的用这个命名录制视频, 而后借助工具将其转换成gif图, 超赞. 以下:
screenrecord gif
Android4.4及以上系统可用.
强大的dump工具, 能够输出不少系统信息. 例如window, activity, task/back stack信息, wifi信息等.
探索Activity之launchMode和探索Activity之启动Intent flag和Affinity就是用adb shell dumpsys activity来输出task信息的.
经常使用dumpsys:
指令 | 说明 | 备注 | 细分参数 |
---|---|---|---|
activity | 输出app组件相关信息 | 还能够用细分参数得到单项内容, 下同. 例如adb shell dumpsys activity activities来获取activity task/back stack信息. | activites, service, providers, intents, broadcasts, processes |
alarm | 输出当前系统的alarm信息 | / | / |
cpuinfo | 输出当前的CPU使用状况 | / | / |
diskstats | 输出当前的磁盘使用状态 | / | / |
batterystats | 电池使用信息 | / | / |
package | package相关信息, 至关于pm功能的集合 | 输出诸如libs, features, packages等信息 | / |
meminfo | 输出每一个App的内存使用和系统内存状态 | 能够指定包名, 例如adb shell dumpsys meminfo com.anly.githubapp | / |
window | 输出当前窗口相关信息 | / | policy, animator, tokens, windows |
参考:https://www.jianshu.com/p/5980c8c282ef