as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

启用开发者模式

启用开发者模式

开发者模式支持在设备上使用应用开发功能。您可以测试应用、访问安全shell、管理程序包、调试组件和访问文件系统。您可以将其用于应用开发、程序包部署、性能监控、应用调试和组件管理。

有关如何在Fire TV Stick上配置开发者模式的说明,请参阅配置开发者模式

开发者模式状态

开发者模式可在启用、身份验证和禁用状态下运行。

启用状态

enable状态表示全部开发者功能都已激活,包括vsh shell访问、通过vpm进行程序包管理以及组件调试功能。

身份验证状态

authenticating状态表示系统正在验证是否拥有启用开发者模式的权限。

禁用状态

disable状态下,系统会限制对标准用户功能的访问。

开发工具

开发者模式提供对用于程序包部署、组件管理和文件操作的基本工具的访问权限。这些工具对开发工作流程至关重要,并且必须在具备适当权限的正确环境中使用。了解这些工具及其适当用法有助于确保高效开发并防止出现常见问题。根据您的shell类型和设备配置,某些工具的功能可能不同。

Vega CLI

在您的设备上,使用Vega命令行界面 (CLI) 命令来安装、卸载和管理程序包。可用的程序包操作如下:

# 安装
kepler device install-app --packagePath my-package.vpkg

# 列出程序包 
kepler device installed-packages

# 程序包信息
kepler device run-cmd --command 'vpm info <程序包ID>'

# 卸载 
kepler device uninstall-app --appName <组件ID>

您只能侧载非亚马逊程序包(不带com.amazon前缀的程序包)。

组件管理

要启动、列出和终止您的应用组件,请使用kepler device组件管理命令。键盘命令如下:

# 启动
kepler device launch-app -appName <组件ID>

# 列出组件
kepler device running-apps

# 终止
kepler device terminate-app --appName <组件ID>

文件操作

使用文件操作在开发计算机和设备之间传输文件。默认shell仅允许访问/tmp目录,而组件shell可以访问其特定的/tmp/scratch/<程序包ID>目录。始终在传输后验证您的文件权限,并移除不再需要使用的临时文件,以维护设备存储空间。请记住,文件路径需要区分大小写。

删除文件时,请记住执行以下操作:

  1. 仅删除从默认开发shell推送到/tmp的文件。
  2. 使用以下方法,删除特定组件shell的/tmp/scratch/<程序包ID>中的文件:

    • 使用以下命令进入组件shell:kepler exec vda shell -t component-id com.myorg.myapp.main
    • 导航到/scratch目录,该目录是组件shell内/tmp/scratch/<程序包ID>的绑定挂载:
     sh(com.myorg.myapp.main):/$ cd scratch
     sh(com.myorg.myapp.main):/scratch$ rm -rf <文件名称>
    

    默认shell推送

     # 推送到默认shell
     kepler device copy-to --source <src> --destination /tmp/
    
     # 查看文件
     kepler device shell
     sh(com.amazon.dev.shell):/$ ls -al /tmp
    

    组件shell推送

    
     kepler device copy-to --source <src> --destination /tmp/scratch/<程序包ID>/
    
     示例:
     (hostmachine)% kepler device copy-to --source myfile_cloud.sh --destination /tmp/scratch/com.myorg.myapp   
    
     # 查找组件清单
     kepler device installed-apps
    
     输出示例: 
     com.myorg.myapp.main         
     com.myorg.otad.main          
     com.myorg.dev.shell.service  
    
     # 查找设备上安装的程序包清单
     kepler device installed-packages
    
     输出示例:
     com.myorg.myapp
     com.myorg.test.lifecycleobserver
     com.myorg.TESSERACT.TEST
     com.myorg.sm-sample.client
     com.myorg.samplepkg
     com.myorg.security.manager.unprivileged-test
     com.myorg.nmunprivileged.task
     com.myorg.messaging.mr33.okidl.ac
    
     # 启动组件shell
     (hostmachine)% kepler exec vda shell -t component-id com.myorg.myapp.main 
    
     # 查看推送的文件
     sh(com.myorg.myapp):/$ ls -al scratch/
    
     输出示例:
     total 4
     drwxr-xr-x  2 app_user app_user  60 2024-07-16 03:03 .
     drwxr-xr-x 19 app_user app_user 400 2024-07-16 03:03 ..
     -rwxrwxrwx  1 app_user 30086    650 2024-07-16 03:03 myfile_cloud.sh
    

    从设备中拉取

     # 从设备中拉取
     kepler device copy-from -o <设备路径> -s <本地路径>
    

最佳实践

使用开发者模式时,请在常规开发工作流程中采取以下做法,以防发生意外的系统修改:

  • 仅侧载具有非亚马逊程序包ID的应用(验证您的程序包ID不是以com.amazon开头)。
  • 使用任务所需的最低访问级别。
  • 遵循最小权限原则。
  • 请注意,您的操作可能会影响设备的稳定性和安全性。

故障排除和支持

开发过程中出现问题时,首先确定受影响的方面(shell访问、程序包管理、组件启动或文件操作)。常见问题的原因包括权限不正确或设备状态限制。

如果下表中描述的解决方案无法解决您的问题,请在寻求支持之前使用loggingctl log收集相关日志。

常见问题

问题 可能的原因 分辨率 预防措施
程序包安装失败 目录错误或格式有问题。 检查/tmp位置或验证程序包格式。 遵循程序包指南。
组件启动问题 缺少清单条目。 验证清单配置或检查组件ID。 包括正确的清单条目。

调试工具

使用loggingctl log收集系统日志并监控组件状态。根据您的设备状态,每个调试工具都有特定的访问级别。

工具 目的 所需的访问级别 常见用例
loggingctl 系统和组件日志 因shell类型而异 调试崩溃或验证行为。
vlcm list 组件监控 默认shell 跟踪正在运行的组件或验证状态。
ps -efZ 进程和安全上下文 组件shell 验证权限或检查进程状态。

Last updated: 2025年9月30日