内置Google TV Services(GTVS)

Google TV Services(GTVS)是Google服务的集合,例如YouTube和Google Play,它们不属于Android平台或Android开源项目。根据Android TV许可协议,只有签约的谷歌合作伙伴的才可以合法使用。

将GTVS集成到SDK中:

  1. 从谷歌官网合作伙伴页面下载最新的GTVS软件包。
  2. 解压缩GTVS包到 /vendor/google/

解压出来的目录如下:

vendor/google/ -- Android.mk -- apps/ -- libs/ -- products/ -- etc/

  1. 然后再对应的设备mk编译文件中添加编译选项(例如device/amlogic/905x2/905x2.mk):

$(call inherit-product, vendor/google/products/gms.mk)

  1. 将客户ID(由Google提供)添加到您的设备制作文件中:

PRODUCT_PROPERTY_OVERRIDES += \ ro.com.google.clientidbase=android-acme

  1. 在8.0 跟8.1 的系统上面,还需要:创建一个IDC文件  /system/usr/idc/virtual-remote.idc 用来声明GTVS Android TV Remote应用程序的输入功能。要声明其功能,idc文件必须包含:

device.internal = 0 keyboard.builtIn = 0 keyboard.orientationAware = 0 audio.mic = 1

注意:还需要为设备支持的任何其他启用语音的遥控器添加IDC文件。

使用Google Launcher创建Android开源版本

如果谷歌GTVS是在被限制的国家做认证,开发者依然需要将GTVS 添加到系统中去。并且提交对应的cts gts报告。但是必须根据不同的国家规定,在系统中做出相应的修改:

  1. 通过在makefile中注释掉电视搜索(Katniss)功能,删除的地方在: vendor/google/apps/Android.mk

#include $(CLEAR_VARS) #LOCAL_MODULE := Katniss #LOCAL_MODULE_TAGS := optional #LOCAL_SRC_FILES := $(LOCAL_MODULE).apk #LOCAL_MODULE_CLASS := APPS #LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) #LOCAL_REQUIRED_MODULES := libgoogle_tagger_molly_jni libvision_face_jni libgoogle_recognizer_jni_l #LOCAL_CERTIFICATE := PRESIGNED #LOCAL_PRIVILEGED_MODULE := true #include $(BUILD_PREBUILT)

  1. 创建一个接收全局搜索辅助意图的模板应用程序:
    1. 建一个空白的Activity。
    2. 在activity 的mainfest 中添加:

<intent-filter android:priority="3" > <action android:name="android.intent.action.ASSIST" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>

ATV 开发 二 、内置gtvs相关推荐

  1. 企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台

    企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台 JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务 ...

  2. JavaFast技术特点介绍-企业级JAVA快速开发平台, 内置java代码生成器

    企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台 JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务 ...

  3. html 列表循环_python web开发:内置标签与过滤器/循环/条件判断

    专注于python领域优质技术,欢迎关注 这一篇教程,我们继续了解Django中模板的使用. 主要内容如下: 内置标签和过滤器: 模板中使用循环: 模板中添加条件判断. 一.内置标签和过滤器 Djan ...

  4. ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件

    应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET ...

  5. iOS开发中内置浏览器

    iOS开发中浏览网页通常有两种选择: 一是启动Mobile Safari的应用进行浏览,或是利用UIWebView进行内置显示. 但两种都有各种的不足,启动Safari应用会导致当前应用的中断或者退出 ...

  6. python-全栈开发-前方高能-内置函数

    python_day_14 13. 前方高能-内置函数 ⼀. 本节主要内容: 1. 内置函数 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. ...

  7. api 微信内置浏览器js_微信开发-微信内置浏览器的Javascript API

    /**! * 微信内置浏览器的Javascript API,功能包括: * * 1.分享到微信朋友圈 * 2.分享给微信好友 * 3.分享到腾讯微博 * 4.隐藏/显示右上角的菜单入口 * 5.隐藏/ ...

  8. Revit二次开发—获取内置参数对应的中文字符串,并导出Excel;举例(BuiltParameterGroup、ParameterType和BuiltInCategory)

    参考文章: 原文链接: http://blog.csdn.net/joexiongjin/article/details/10149127 作者:  叶雄进 , Autodesk ADN 实现代码 文 ...

  9. 微信第三方平台开发(二)---内网穿透

    开发第一步: 创建第三方平台,但是有个前提就是需要存放服务的服务器域名. 有个方法:修改后打包部署到服务器上,但是这很麻烦,的确. 那怎么可以做到本地开发呢? 这个时候就需要内网穿透这个神器了,找了很 ...

最新文章

  1. 半个月3篇Nature/Science,95后曹原3年8篇顶刊,网友:杀疯了杀疯了
  2. mysql修改用户密码
  3. java保留两位小数
  4. OpenGL学习(4)——纹理(补)
  5. Java 设计模式 之 中介者模式(Mediator)
  6. wordpress怎么设置文章页面不打开新的窗口_2019 WordPress外贸网站SEO优化基础设置(新手图文教程)...
  7. 51单片机中的定时器
  8. ServiceMix中部署:OSGi Bundle和Feature
  9. 投入20亿,赋能1万家,阿里云正式启动云原生合作伙伴计划
  10. RapidMiner Studio for Mac - 可视化综合数据平台
  11. layui下拉框怎么获取自定义值_layui如何得到select下拉框选中的值?
  12. Web项目测试流程总结
  13. Unity 使用BmFont制作艺术字体
  14. DLL load failed while importing _imaging怎么处理
  15. 薛兆丰·北大经济学课
  16. 网络篇 - netty实现高并发安全聊天客户端
  17. 【PCL】【PCL实践】【PCL的使用学习记录】
  18. matlab实验报告井字棋,有偿井字棋游戏300+
  19. 【电商】电商后台设计—购物车
  20. 方便微信公众号征集图片视频的小程序

热门文章

  1. bitmap压缩方法
  2. 国内大陆有哪些芯片公司处于世界前10?一起看看!
  3. 大数据-玩转数据-hive的安装
  4. VMware ,centos7能ping通外面,但是外面ping不通里面,且使用工具远程连接不上
  5. 无线网络技术教程(第3版)--原理、应用与实验 金光江光亮 编著 复习资料 聊城大学考试题目
  6. SAPトランザクション一覧(メモ)
  7. java 学生考勤系统(四、签退功能)
  8. 资源分享:嵌入式stm32项目开发 心率检测仪的设计与实现
  9. 基于北斗导航定位系统的设计与实现(论文+程序设计源码+数据库文件)
  10. LSTM模型的推导与实现