目前智能电视(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中进行调试了!如图

android studio 机顶盒调试 android机顶盒tv开发_android

断开连接

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