目前智能电视(TV)、盒子(机顶盒)基本都是Android系统,所以开发盒子app的重任自然就会落到我们这些苦逼Android程序员身上。
PS:目前盒子的Android版本绝大部分还都是在6.0以下,所以不需要加入运行时权限的检查,嘿嘿。
为何使用ADB
开发手机app时,调试程序都是用USB数据线直连就OK了。但是盒子由于各种原因(比如没有USB接口等),不能用数据线调试,这时候ADB就派上用场了。前提是盒子能开启ADB调试,如果设置里没有或厂商就没提供这个功能,那就只能拆盒子用串口连等其他方法了(我也不会,找百度吧)。。。
ADB的常用命令
查看已连接的设备
adb devices
连接局域网中的设备
adb connect 设备IP
e.g. :
adb connect 192.168.1.118
连接上设备以后,就可以在像手机一样在IDE中进行调试了!如图
断开连接
adb disconnect 设备IP
e.g. :
adb disconnect 192.168.1.118
安装apk
adb install apk路径
e.g. :
adb install Downloads/test.apk
卸载app
adb uninstall app包名
e.g. :
adb uninstall com.saker.test
本机向设备复制文件
adb push 本机文件路径 设备文件路径
e.g. :
adb push test.png /sdcard/
还可以传送文件的同时,重新命名文件为abc.png
adb push test.png /sdcard/abc.png
本机从设备复制文件
adb pull 设备文件路径 本机文件路径
e.g. :
adb pull /sdcard/abc.png Downloads/
也可以重新命名文件为xyz.png
adb pull /sdcard/abc.png Downloads/xyz.png
向设备输入按键
adb shell input keyevent 按键值
e.g. :
adb shell input keyevent KEYCODE_BACK
或
adb shell input keyevent 4
向设备输入文本(不支持中文和空格)
adb shell input text 文本
e.g. :
adb shell input text ABCD1234
启动app的Activity
adb shell am start -n 包名/Activity全名
adb shell am start -n com.saker.test/com.saker.test.MainActivity
进入设备的终端
adb shell
注意:在进入终端后,所有命令都需要去掉adb shell
设备offline的几种解决方法:
- 执行adb kill-server,再执行adb start-server
- 重新打开设备的USB调试
- 重新连接设备
- 重新打开IDE