参考 TV 应用
2017-11-13 15:59
183 查看
本文转载自:https://source.android.google.cn/devices/tv/reference-tv-app
Android TV 设备需要安装可播放电视直播内容的 TV 应用。Android 平台随附一个参考 TV 应用 (Live TV),该应用可按原样使用,亦可进行自定义、扩展或替换成其他应用。其源代码可在
Android 开放源代码项目中获取。
本文总结了如何基于 Live TV 为您的 Android 电视设备构建和自定义系统 TV 应用。(您可以通过扩展您的 TV 应用来实现特定于设备制造商或国家/地区的功能,但这不属于参考 TV 应用的使用范围。)
Live TV 应用。
Live TV 应用依赖于 Android API。不同的分支所依赖的 API 级别也不同:
表 1. Live TV 分支
如果开发者想让 Live TV 应用拥有系统权限,则在首次安装时,需要通过运行以下命令将该应用推送到 /system/priv-app:
CTS 验证程序测试外,还可使用以下这些测试:
Android TV 设备需要安装可播放电视直播内容的 TV 应用。Android 平台随附一个参考 TV 应用 (Live TV),该应用可按原样使用,亦可进行自定义、扩展或替换成其他应用。其源代码可在
Android 开放源代码项目中获取。
本文总结了如何基于 Live TV 为您的 Android 电视设备构建和自定义系统 TV 应用。(您可以通过扩展您的 TV 应用来实现特定于设备制造商或国家/地区的功能,但这不属于参考 TV 应用的使用范围。)
依赖关系
TV 应用是电视输入框架 (TIF) 的一个组件,不能独立于其他组件使用。这就意味着只有具有 TIF 的设备才能运行Live TV 应用。
Live TV 应用依赖于 Android API。不同的分支所依赖的 API 级别也不同:
表 1. Live TV 分支
分支 | 目标 API 级别 | 最低 API 级别 |
---|---|---|
master | 24 (Android 7.0) | 23 |
android-live-tv | 23 (Android 6.0) | 21 |
android-live-tv-l-mr1 | 22 (Android 5.1) | 21 |
获取源代码
首选,请从 Git 中选择您想要的 Live TV 版本。以下说明面向的是最新版的 Live TV,但您也可以通过将分支从 master 更改为上表中所列的其他分支,来选择一个更早的版本。$ mkdir live-tv && cd live-tv $ repo init -u https://android.googlesource.com/platform/manifest -b master $ repo sync -j8 -c
构建
要构建 Live TV 代码,请运行:$ . build/envsetup.sh $ tapas LiveTv x86 $ make LiveTv
推送
要将 Live TV 推送到测试设备,请运行:$ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk
如果开发者想让 Live TV 应用拥有系统权限,则在首次安装时,需要通过运行以下命令将该应用推送到 /system/priv-app:
adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
测试
在设备上安装 Live TV 后,您需要测试该应用是否已正确集成。除了对 TV 应用运行兼容性测试套件和CTS 验证程序测试外,还可使用以下这些测试:
单元测试
可对 Live TV 应用运行单元测试和功能测试。您必须连接一台设备(或模拟器)才能运行这类测试。$ adb shell logcat -c m LiveTv TVTestInput TVUnitTests -j20 &&\ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\ adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \ adb install -r -d $OUT/data/app/TVUnitTests/TVUnitTests.apk && \ adb shell pm clear com.android.providers.tv && \ adb shell pm clear com.google.android.tv && \ adb shell am instrument \ -e testSetupMode unit \ -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\ adb shell input keyevent KEYCODE_HOME &&\ adb shell am instrument \ -w 'com.android.tv.tests/android.support.test.runner.AndroidJUnitRunner'
功能测试
$ adb shell logcat -c m LiveTv TVTestInput TVFuncTests -j20 &&\ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\ adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \ adb install -r -d $OUT/data/app/TVFuncTests/TVFuncTests.apk && \ adb shell pm clear com.android.providers.tv && \ adb shell pm clear com.google.android.tv && \ adb shell am instrument \ -e testSetupMode func \ -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\ adb shell input keyevent KEYCODE_HOME &&\ adb shell am instrument \ -w 'com.android.tv.tests.ui/android.support.test.runner.AndroidJUnitRunner'
Jank 测试
Jank 测试用于检查是否存在丢帧和渲染延迟。$ adb shell logcat -c m LiveTv TVTestInput TVJankTests -j20 &&\ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\ adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk &&\ adb install -r -d $OUT/data/app/TVJankTests/TVJankTests.apk &&\ adb shell pm clear com.android.providers.tv &&\ adb shell pm clear com.google.android.tv &&\ echo "Creating a lot of channels and EPG data, this may take a while" &&\ adb shell am instrument \ -e testSetupMode jank \ -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\ adb shell input keyevent KEYCODE_HOME &&\ adb shell am instrument \ -w 'com.android.tv.tests.jank/android.support.test.runner.AndroidJUnitRunner'
相关文章推荐
- Nginx配置文件基本应用参考手册
- 《Red5 用户参考手册》之八:Red5 核心技术第一章 在 Red5 里创建新应用
- Altera:PCI Express参考设计和应用笔记(链接)
- 设计模式在软件应用系统开发中的实战参考
- 利用Flex 4.5 SDK和Flash Builder 4.5开发的web和移动参考应用(二)
- Castor功能与应用参考(转)
- 未来仍有待开掘的五大互联网应用方向(有打算技术创业的朋友可以参考一下)
- VN管理与应用相关的资料参考手册
- RecycleView在TV应用中的焦点问题
- 一个可供参考的Java高并发异步应用案例--转
- Azure业务应用架构设计参考建议
- 《C++语言基础》实践参考——静态成员应用
- 管理类应用系统参数配置管理统一解决方法(含代码参考)
- Linux 搭建简单的应用服务器(参考其他博客整理和自己实践)
- Android应用的自动升级、更新模块的实现完整方案+参考程序代吗
- VPM虚拟外围器件的应用系列说明 之二 需要下载或参考的资料下载地址
- 高负载高并发应用 参考索引
- 管理类应用系统参数配置管理统一解决方法(含代码参考)
- Spring Boot参考教程(三)内部应用监控(Actuator)
- Android,找工作,百度应用上的参考apk