对Vega应用程序包使用VPT
VPT可管理Vega应用程序包。可使用它来创建、检查、管理和验证.vpkg文件(Vega的标准程序包格式)。
要开始使用VPT,请安装Vega软件开发工具包 (SDK),其中包括两个主要命令行工具:
- VPT - 管理创建和验证等程序包操作
- Vega CLI - 处理整个应用开发工作流程,包括构建和部署应用
虽然Vega CLI在应用构建期间使用VPT,但您也可以直接运行VPT来:
- 检查程序包
- 验证内容
- 为您的应用添加自定义签名
命令
VPT提供以下命令类别。有关命令及其最新选项的完整列表,请使用vpt help。
程序包信息
这些命令可用来查看程序包的详细信息和内容。
info
示出程序包信息,包括ID、标题和版本详细信息。(注意:界面显示内容均为英文。此处中文译文仅供参考。)
用法:vpt info [选项] <程序包>
参数:
<程序包> vpkg的路径
选项:
--json 以JSON格式输出
-h, --help 输出帮助信息
示例:
vpt info /path/to/keplersampleapp.vpkg
// 输出
Sample App com.amazondeveloper.keplersampleapp v1.3.4 b53
show-contents
列出程序包中的所有文件。
用法:vpt show-contents [选项] <程序包>
参数:
<程序包> vpkg的路径
选项:
-h, --help 输出帮助信息
示例:
vpt show-contents /path/to/keplersampleapp.vpkg
// 输出
Package contents:
assets/ (6 files)
lib/ (2 files)
manifest.toml
meta-info/ (4 files)
程序包创建和提取
以下命令可用来创建和修改程序包。
pack
从源目录创建程序包。您可以指定程序包名称、版本和内部版本号。
用法:vpt pack [选项] <源路径>...
参数:
<源路径>... 源目录
选项:
-n, --pkg-name <程序包的名称> 程序包的名称
-d, --dest-path <目标路径> 目标路径
-b, --build-number <内部版本号> 内部版本号
-v, --version <版本> 内部版本
--validate 强制验证清单
-h, --help 输出帮助信息
示例:
vpt pack /path/to/source --pkg-name keplersampleapp --dest-path /path/to/output --version 1.0.0 --build-number 42
// 输出
Creating package keplersampleapp...
Validating manifest...
Package created at /path/to/output/keplersampleapp.vpkg
unpack
将所有程序包文件提取到目标路径。
用法:vpt unpack [选项] <程序包>
参数:
<程序包> vpkg的路径
选项:
-d, --dest-path <目标路径> 目标路径
-h, --help 输出帮助信息
示例:
vpt unpack /path/to/keplersampleapp.vpkg --dest-path /path/to/output
// 输出
Extracting package contents...
Files extracted to /path/to/output
dump
从程序包中提取文件。打印到stdout,或保存到您指定的目标路径。
stdout的二进制文件可能会损坏您的终端显示。
用法:vpt dump [选项] <程序包> <条目>
参数:
<程序包> vpkg的路径
<条目> vpkg内条目的路径
选项:
-d, --dest-path <目标路径> 目标路径
-h, --help 输出帮助信息
示例:
vpt dump /path/to/keplersampleapp.vpkg manifest.toml
// 输出
Extracting manifest.toml from keplersampleapp.vpkg
Content written to stdout
extract-locales
以JSON或文本形式从程序包中提取本地化文件。
用法:vpt extract-locales [选项] <程序包>
参数:
<程序包> vpkg的路径
选项:
-f, --format <格式> 输出格式 [默认值:json] [可能值:json、text]
-h, --help 输出帮助信息
示例:
vpt extract-locales --format json /path/to/keplersampleapp.vpkg
// 输出
Extracting localization files...
Files extracted to current directory:
- en/strings.json
- es/strings.json
程序包签名和验证
这些命令用来处理安全和验证。
pull
从程序包中提取摘要和签名文件。摘要文件列出了VPKG中所有文件的加密校验和,而签名文件则包含分离的加密签名,该签名用于验证摘要文件的真实性。使用--json-digest提取JSON格式的摘要文件,或使用--json-signature提取JSON格式的签名文件。
用法:vpt pull [选项] <--signature|--digest|--json-signature|--json-digest> <程序包> <目标>
参数:
<程序包> vpkg的路径
<目标> 目标路径
选项:
--signature
--digest
--json-signature
--json-digest
-h, --help 输出帮助信息
示例:
vpt pull --signature /path/to/keplersampleapp.vpkg /path/to/output/digest.sig
// 输出
Extracting signature from keplersampleapp.vpkg
Signature saved to /path/to/output/digest.sig
push
向程序包中添加签名文件。使用--json-signature插入与程序包摘要相对应的JSON格式签名文件。
用法:vpt push [选项] <--signature <签名>|--json-signature <JSON签名>> <程序包>
参数:
<程序包> vpkg的路径
选项:
--signature <签名> 要推送的摘要文件的旧签名路径
--json-signature <JSON签名> 要推送的digest.json文件的签名路径
-h, --help 输出帮助信息
示例:
vpt push --signature /path/to/input/digest.sig /path/to/keplersampleapp.vpkg
// 输出
Adding signature to keplersampleapp.vpkg
Signature successfully added
sign
使用私钥和证书对消息进行签名。
用法:vpt sign [选项] <消息> <私钥> <证书文件> <输出文件>
参数:
<消息> 要签名的消息
<私钥> 用于消息签名的私钥
<证书文件> 与私钥对应的X.509证书
<输出文件> 输出路径
选项:
-r, --resign 重新签名已签名的消息
-h,--help 输出帮助信息
示例:
vpt sign --resign /path/to/input/digest.sig /path/to/developer-private.key /path/to/developer-cert.pem /path/to/output/digest.sig
// 输出
Signing digest.sig with provided key and certificate
Signature created at /path/to/output/digest.sig
verify
使用指定的证书验证消息的签名。
用法:vpt verify [选项] <消息文件> <签名文件> <证书>...
参数:
<消息文件> 要验证的文件
<签名文件> 用于验证消息的签名
<证书>... 要验证的X.509证书列表
选项:
-p, --partial 仅使用提供的CA执行部分/非详尽验证
-h, --help 输出帮助信息
示例:
vpt verify /path/to/message.txt /path/to/message.sig /path/to/cert.pem
// 输出
Verifying signature...
Signature verification successful
checksum
计算程序包校验和。
用法:vpt checksum [选项] <程序包>
参数:
<程序包> vpkg的路径
选项:
-h, --help 输出帮助信息
示例:
vpt checksum /path/to/keplersampleapp.vpkg
// 输出
Calculating checksum...
SHA256: a1b2c3d4e5f6...
generate-csr
从配置文件创建证书签名请求 (CSR)。
用法:vpt generate-csr [选项]
选项:
-k, --key <密钥> 私钥
-c, --config <配置> 配置文件
-o, --out <输出> 输出目录
-v, --verbose 输出生成的CSR路径
-h, --help 输出帮助信息
示例:
vpt generate-csr -k /path/to/private.key -c /path/to/config.json -o /path/to/output/dir -v
// 输出
Reading configuration from config.json
Generating CSR using private.key
CSR created at /output/dir/certificate.csr
程序包分析
以下命令用来验证程序包的结构和内容。
validate
检查您的程序包清单是否符合亚马逊应用商店要求。
有关规则的信息,请参阅清单用户指南。
用法:vpt validate [选项] <路径>
参数:
<路径> vpkg、目录或manifest.toml的路径
选项:
--no-color 禁用彩色输出
-h, --help 输出帮助信息
示例:
vpt validate keplersampleapp.vpkg
// 输出
validating 'keplersampleapp.vpkg' ...
analyzing manifest.toml ...
found issues in manifest.toml ...
manifest validation found 2 errors
manifest.toml:3:1 info: [package.icon] Icon isn't defined in the manifest.Using system default.
help: Define an icon to help users recognize your app
manifest.toml:15:6 error: [components.interactive.id] Component ID 'com.company.sample.badcomponentname' doesnt have package ID prefix 'com.amazondeveloper.keplersampleapp'
help: Component ID should follow the format: package_id.component_name
manifest.toml:9:1 error: [components.interactive.categories] No interactive component declares 'com.amazon.category.main' category.App can't launch without package-id or package ASIN.
help: One interactive component should declare 'com.amazon.category.main' category in the manifest
为您的程序包创建自定义签名
-
从程序包中拉取签名文件:
vpt pull --json-signature /path/to/keplersampleapp.vpkg /path/to/pulled/digest.json.sig // 输出 Extracting signature from keplersampleapp.vpkg Signature saved to /path/to/pulled/digest.json.sig -
使用您的私钥和证书对拉取的digest.json.sig文件进行签名:
vpt sign --resign /path/to/pulled/digest.json.sig /path/to/developer-private.key /path/to/developer-cert.pem /path/to/signed/digest.json.sig // 输出 Signing digest.json.sig with provided key and certificate Signature created at /path/to/signed/digest.json.sig -
将已签名的签名文件推送回程序包:
vpt push --json-signature /path/to/signed/digest.json.sig /path/to/keplersampleapp.vpkg // 输出 Adding signature to keplersampleapp.vpkg Signature successfully added
相关主题
Last updated: 2025年9月30日

