Vega SDK发行说明
请在此处为您的Vega SDK使用体验评分。
Vega SDK版本0.21
Vega SDK v0.21引入了重大更改和改进。主要亮点包括:
- Vega虚拟设备 (VVD): 更改了名称,不再称为“Simulator”(模拟器),具有改进的用户界面 (UI)、Fire TV Stick遥控功能的键盘控制以及更好的错误处理能力。
- 遥测框架: 涵盖所有Vega工具的全面文档,包括默认启用的遥测和简化的选择退出程序。增强的隐私声明和Visual Studio Code (VS Code) 集成。
- 开发者工具: 增加了对Ubuntu 24的支持,在VS Code市场提供Vega Studio,并实现了改进的错误消息传递系统。
- 性能分析: 具有预建性能检查的新ESLint插件、用于系统跟踪分析的Perfetto用户界面集成,以及用于数据可视化的自定义文件类型编辑器。
- 新的性能KPI: 实现了视频/用户界面丢帧跟踪和应用事件响应时间测量,包括滚动的输入键延迟和连续丢帧计数。
- 开发者体验: 通过实时反馈、更好的错误消息传递和简化的开发工作流程改进了清单验证。
我们还通过Login with Amazon流程改进了身份验证,解决了多个视频播放和字幕相关问题,解决了流冻结、插播广告过渡和字幕定位问题。通过修复关键服务注册处理、计时器管理和资源冲突,我们显著提高了系统稳定性。这些改进带来更强大、更稳健的开发和用户体验。
此版本要求在Vega Fire TV Stick上安装OS 1.1 (1001010443450)
,其与Vega SDK v0.21兼容。您可以导航到My Fire TV(我的Fire TV)> About(关于)来查看您的设备软件版本。
公告
Vega私有NPM程序包移至公共注册表
我们将Vega NPM程序包从私有注册表迁移到了公共NPM注册表,从@amzn
命名空间过渡到@amazon-devices
命名空间。这一变化消除了令牌要求并简化了开发。
此举的主要益处
- 简化开发: 开发者不再需要为Vega开发配置
.npmrc
令牌。 - 改善了库的可用性: 通过公共注册表可以更轻松地访问亚马逊提供的SDK。
- 简化了命名空间: 虽然将暂时使用双命名空间,但我们计划停用
@amzn
以供外部使用。
在Github上提供示例参考应用
示例应用已开始转移到亚马逊的Github空间,可供直接下载,无需访问令牌即可访问。
Vega虚拟设备 (VVD) 增强功能
Vega SDK v0.21引入了对Vega虚拟设备 (VVD) 和Vega CLI (VCLI) 的改进,包括简化的命令、改进的用户体验、更新的Vega Studio扩展、新的键盘控件和改进的错误处理。
名称和命令更新
Vega虚拟设备标识符现在是VirtualDevice
,取代了所有工具和接口上的Simulator
标识符。对Simulator
标识符的支持将于2025年11月结束。在此更改生效之前,您应该开始使用VirtualDevice
。
VVD用户界面更新
我们重新设计了VVD界面,以便提供:
- 明确的说明,即注册是可选的,除非您使用的是亚马逊服务。
- 一致的样式(颜色、间距和排版)。
- 有用的工具提示和信息元素,以提高可用性。
Vega Studio扩展更新
- 在命令面板中,将名称“Simulator”更改为Vega Virtual Device(Vega虚拟设备)。
- 在“Devices”(设备)部分中,将“Simulator:TV”更改为“VirtualDevice:Tv”。
新的键盘控件
我们向Vega虚拟设备添加了键盘映射功能,让您可以使用键盘快捷键控制Fire TV Stick的遥控功能。有关详细信息,请参阅Vega虚拟设备文档。
改进了错误处理
当设备相关操作失败时,我们将通用结果代码替换为详细的错误消息,从而帮助您诊断和解决问题。
遥测文档更新
我们对遥测收集和支持文档进行了全面更新,提高了Vega工具中数据收集的透明度并加强了其控制。
关键更新:
- 所有Vega工具的遥测收集详细分类,包括Vega Studio、Vega CLI、Vega虚拟设备、Vega性能CLI和Vega Appium驱动程序。
- 简化了开发者的退出流程。
重要更改:
- 现在,Vega SDK中默认启用遥测功能。
{$KEPLER_SDK_PATH}/state/kepler-telemetry/config.json
中提供新的配置选项。- 改进了隐私声明和数据使用说明。
- 与Vega Studio用户的VS Code遥测设置集成。
有关详细信息,请参阅在Vega工具中管理遥测。
此次更新反映了亚马逊对遥测收集的透明度和开发者选择的承诺,同时改善了Vega的开发体验。
Vega网页应用更新
对于WebView开发者而言,必须修改package.json文件。有关详细信息,请参阅Vega网页应用依赖项更新。
开发者工具
Vega v0.21引入了以下Vega开发者工具改进:
- 向Vega虚拟设备添加了Ubuntu 24支持。
- 将Vega Studio添加到VS Code市场中。
- 添加了ESLint插件。ESLint插件使用Vega Studio工具(CLI和用户界面)中的预建性能检查来自动检测常见的代码级问题,例如
FlatList
的使用情况、缺少启动画面或控制台日志。检查项分为必须完成项(错误)和可选完成项(警告)两类。开发者可以提交测试证明,并在应用提交期间向亚马逊应用商店团队确认其已通过必要测试。 - 添加了新的性能监控KPI。这包括实现视频/用户界面丢帧跟踪和应用事件响应时间测量,以更好地评估播放流畅度和交互响应能力。
3帧以上和5帧以上视频连续掉帧
: 统计应用在视频播放期间连续丢失5帧或更多帧的情况,这表明播放出现严重中断。用户界面5帧以上连续掉帧
: 统计应用在滚动交互期间连续丢失5帧或更多帧从而导致用户界面严重卡顿的情况。例如,当垂直或水平滚动时。应用事件响应时间 - 焦点
: 测量焦点事件 (onFocus
/onBlur
) 的原生用户界面线程和JavaScript线程之间的调度延迟。超过200毫秒的调度延迟表明JavaScript线程拥塞,这会影响应用的响应能力。
- 添加了输入键延迟(滚动)跟踪KPI衡量,以改善应用流畅度评估。
- 为特定文件类型添加了自定义编辑器,使开发者能够通过在IDE中双击文件来可视化数据。
- 改进了错误消息传递系统,为环境设置问题提供可操作的详细反馈,使开发者能够使用CLI和Vega Studio性能工具独立进行故障排除。
- 改进了Vega清单验证。这种针对Vega manifest.toml文件的实时验证可直接在VS Code中提供有关错误和格式设定问题的即时反馈。
- 作为性能扩展的一部分,将Perfetto用户界面直接集成到Vega Studio中,无需额外的设置即可一键访问系统跟踪分析,类似于现有的Chrome Dev Tools集成。
Vega网页应用依赖项更新
如果您使用WebView开发应用,请修改您的应用的package.json文件以包含以下依赖项。
"dependencies": {
"@amzn/webview": "^3.0.0",
--------------------
},
要安装应用依赖项,请运行以下命令。
npm install
有关更多信息,请参阅Vega网页应用概述。
第三方库
- 第三方库移植指南: 添加了第三方库移植指南,为库开发者向其库添加Vega支持提供了详细的指导。
改进
- 添加了错误报告工具,用于收集有关系统、设备和日志的诊断信息。该工具将此类信息以文件形式保存在您的计算机上,您可以在提交支持请求时附上该文件。有关详细信息,请参阅设置和使用Vega Studio。
- 添加了以下Appium命令:
push_file
、pull_file
、install_app
、activate_app
、terminate_app
以及remove_app
。有关描述和用法,请参阅Appium命令。 - 在调试流程中添加了应用无响应 (ARN) 超时管理,以防止生命周期管理器 (LCM) 在逐行本机调试会话期间终止应用。
- 改进了字幕窗口定位和文本对齐边框内边距、垂直堆叠逻辑和行调整计算,以防止文本重叠和边框粘连。
- 通过改进同意页面显示和视觉缩放,改善了电视平台上的Login with Amazon (LWA) 体验。用户现在可以在电视屏幕上享受更好的可读性和更易于访问的身份验证体验。
- 修复了在设备上启用家长监护时与Login with Amazon (LWA) 流程相关的身份验证失败问题。
- 通过解决适用于Vega的React Native Thread Monitor的损坏互斥锁问题,修复了用户界面线程挂起的问题,该问题导致平台数据管理器出现死锁问题。
- 通过解决堆栈导航器动画问题,修复了应用导航崩溃的问题,无需将禁用动画 (
animationEnabled: false
) 作为解决方法。 - 修复了
TimingModule
问题,即由于在ARNTimer
中重复使用了句柄,clearInterval
偶尔会清除错误的计时器,从而解决了计时器管理争用情况和孤立的setInterval
实例。 - 修复了在应用中导航主页磁贴时用户界面闪烁的问题,提供流畅的过渡而不会出现视觉伪影。
- 修复了在视频点播 (VOD) 内容播放期间启用字幕时发生的应用崩溃问题。
- 通过解决媒体播放器取消初始化期间死锁导致的应用无响应 (ANR) 问题,修复了插播广告后视频冻结的问题。
- 通过消除冗余配置覆盖修复了视频流冻结问题,并更正了跟踪缓冲区搜索逻辑,以便在播放期间进行适当的间隙处理。
- 通过在字幕轨道管理中添加同步来防止争用情况,修复了内容播放期间应用崩溃的问题。
- 修复了
ServiceRegistrar
连接处理问题,方法是在解除绑定操作失败期间保留待处理的连接,并对陈旧连接实施超时管理,从而提供适当的服务恢复。 - 通过解决LCM错误终止映射服务时的资源管理冲突修复了音乐播放问题,改善了资源管理器和生命周期管理器之间的协调以防止服务过早终止。
- 修复了升级到React Native w3cmedia程序包版本2.1.80后在视频播放期间出现的绿屏伪影。
- 修复了在应用之间切换和关闭后打开电视时出现黑屏的问题,从而提供正确的应用状态恢复和启动器可见性。
- 通过解决稳定性问题,修复了播放扩展HLS内容时发生的应用崩溃问题
- 通过在为文本显示自动计算窗口大小时删除不必要的窗口内边距,修复了标题文本剪切问题。
- 修复了应用中使用的媒体控制按钮无法正常工作的问题。
- 修复了消息路由器命令与
enforce-security
命令同时运行之际播放VOD内容时发生应用崩溃的问题。 - 修复了开始/结束时间相同的字幕提示的应用中字幕对齐和缺失文本问题。
已知问题
-
二进制形式的性能工具不能在最新Ubuntu操作系统版本(22、24)上正常工作。
解决方法: 联系您的亚马逊联系人,或在论坛中留下问题以获得压缩文件和安装程序脚本,让您可以在Ubuntu设备上运行采用Python源代码的性能工具。
-
通过Vega Studio启动时,Activity Monitor不显示调试变体应用的常用函数。
解决方法: 通过VLCM命令启动应用,观察常用函数:
vlcm launch-app orpheus://<应用URL>
- 由于映射迭代器争用状况,应用可能会在视频长时间播放(1-2小时)期间崩溃。
- 尽管调试内部版本可以正常运行,但在使用react-navigation核心时,React Navigation主题背景在发布内部版本中默认为白色。
- 在非登录状态下,在广告播放过渡期间,应用可能会遭遇内存不足终止 (LMK)。
- Shaka播放器在使用右方向键导航搜索到视频结尾时可能会停滞。
- 使用
BackHandler.exitApp()
然后快速重新启动应用会导致发布内部版本崩溃,或者在调试模式下出现Cannot initialize hmrClient twice
(无法初始化hmrClient两次)错误。 - 应用可能在不显示启动画面的情况下启动,从而影响应用启动期间的用户体验。根本原因仍然未知。
- JSON RPC响应中的焦点属性层次结构与实际聚焦的元素不一致,影响了Appium选择器功能。
- 在直播TV广播期间,隐藏式字幕使用实时生成的字幕间歇性地闪烁并改变位置,从而影响可读性。
-
stop
和status
操作在Ubuntu系统上的Vega虚拟设备 (VVD) 中无法正常运行。这意味着用户无法使用标准CLI命令或Vega Studio停止VVD。解决方法: 右键单击VVD应用程序图标并选择“close”(关闭)或单击VVD用户界面中的“x”按钮。
-
当某些USB集线器或扩展坞连接到主机时,虚拟设备可能会在启动后不久意外终止。
解决方法:
- 断开所有USB集线器与主机的连接。
- 断开所有扩展坞与主机的连接。
- 重新启动虚拟设备。
-
Ubuntu上的性能工具兼容性。Perf CLI二进制文件可能无法在Ubuntu系统上正常运行。遇到问题的用户应使用提供的补丁Bundle作为解决方法。
解决方法:
- 下载补丁Bundle并安装脚本。
- 运行以下命令。
sudo chmod +x install_bundle.sh && ./install_bundle.sh
- 该脚本会将Bundle安装到您的SDK中。
Last updated: 2025年10月9日