ATV 开发 二 、内置gtvs
内置Google TV Services(GTVS)
Google TV Services(GTVS)是Google服务的集合,例如YouTube和Google Play,它们不属于Android平台或Android开源项目。根据Android TV许可协议,只有签约的谷歌合作伙伴的才可以合法使用。
将GTVS集成到SDK中:
- 从谷歌官网合作伙伴页面下载最新的GTVS软件包。
- 解压缩GTVS包到 /vendor/google/
解压出来的目录如下:
vendor/google/ -- Android.mk -- apps/ -- libs/ -- products/ -- etc/
- 然后再对应的设备mk编译文件中添加编译选项(例如device/amlogic/905x2/905x2.mk):
$(call inherit-product, vendor/google/products/gms.mk)
- 将客户ID(由Google提供)添加到您的设备制作文件中:
PRODUCT_PROPERTY_OVERRIDES += \ ro.com.google.clientidbase=android-acme
- 在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报告。但是必须根据不同的国家规定,在系统中做出相应的修改:
- 通过在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)
- 创建一个接收全局搜索辅助意图的模板应用程序:
- 建一个空白的Activity。
- 在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相关推荐
- 企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台
企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台 JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务 ...
- JavaFast技术特点介绍-企业级JAVA快速开发平台, 内置java代码生成器
企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台 JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务 ...
- html 列表循环_python web开发:内置标签与过滤器/循环/条件判断
专注于python领域优质技术,欢迎关注 这一篇教程,我们继续了解Django中模板的使用. 主要内容如下: 内置标签和过滤器: 模板中使用循环: 模板中添加条件判断. 一.内置标签和过滤器 Djan ...
- ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件
应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET ...
- iOS开发中内置浏览器
iOS开发中浏览网页通常有两种选择: 一是启动Mobile Safari的应用进行浏览,或是利用UIWebView进行内置显示. 但两种都有各种的不足,启动Safari应用会导致当前应用的中断或者退出 ...
- python-全栈开发-前方高能-内置函数
python_day_14 13. 前方高能-内置函数 ⼀. 本节主要内容: 1. 内置函数 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. ...
- api 微信内置浏览器js_微信开发-微信内置浏览器的Javascript API
/**! * 微信内置浏览器的Javascript API,功能包括: * * 1.分享到微信朋友圈 * 2.分享给微信好友 * 3.分享到腾讯微博 * 4.隐藏/显示右上角的菜单入口 * 5.隐藏/ ...
- Revit二次开发—获取内置参数对应的中文字符串,并导出Excel;举例(BuiltParameterGroup、ParameterType和BuiltInCategory)
参考文章: 原文链接: http://blog.csdn.net/joexiongjin/article/details/10149127 作者: 叶雄进 , Autodesk ADN 实现代码 文 ...
- 微信第三方平台开发(二)---内网穿透
开发第一步: 创建第三方平台,但是有个前提就是需要存放服务的服务器域名. 有个方法:修改后打包部署到服务器上,但是这很麻烦,的确. 那怎么可以做到本地开发呢? 这个时候就需要内网穿透这个神器了,找了很 ...
最新文章
- 半个月3篇Nature/Science,95后曹原3年8篇顶刊,网友:杀疯了杀疯了
- mysql修改用户密码
- java保留两位小数
- OpenGL学习(4)——纹理(补)
- Java 设计模式 之 中介者模式(Mediator)
- wordpress怎么设置文章页面不打开新的窗口_2019 WordPress外贸网站SEO优化基础设置(新手图文教程)...
- 51单片机中的定时器
- ServiceMix中部署:OSGi Bundle和Feature
- 投入20亿,赋能1万家,阿里云正式启动云原生合作伙伴计划
- RapidMiner Studio for Mac - 可视化综合数据平台
- layui下拉框怎么获取自定义值_layui如何得到select下拉框选中的值?
- Web项目测试流程总结
- Unity 使用BmFont制作艺术字体
- DLL load failed while importing _imaging怎么处理
- 薛兆丰·北大经济学课
- 网络篇 - netty实现高并发安全聊天客户端
- 【PCL】【PCL实践】【PCL的使用学习记录】
- matlab实验报告井字棋,有偿井字棋游戏300+
- 【电商】电商后台设计—购物车
- 方便微信公众号征集图片视频的小程序
热门文章
- bitmap压缩方法
- 国内大陆有哪些芯片公司处于世界前10?一起看看!
- 大数据-玩转数据-hive的安装
- VMware ,centos7能ping通外面,但是外面ping不通里面,且使用工具远程连接不上
- 无线网络技术教程(第3版)--原理、应用与实验 金光江光亮 编著 复习资料 聊城大学考试题目
- SAPトランザクション一覧(メモ)
- java 学生考勤系统(四、签退功能)
- 资源分享:嵌入式stm32项目开发 心率检测仪的设计与实现
- 基于北斗导航定位系统的设计与实现(论文+程序设计源码+数据库文件)
- LSTM模型的推导与实现