- 防止运行时冲突:避免捆绑系统提供的二进制文件,这可能会导致链接器不匹配和应用程序崩溃
- 减小程序包大小:消除冗余的系统二进制文件以保持VPKG精益
- 确保平台兼容性:保证您的应用使用正确的、经过平台测试的二进制版本
- 符合亚马逊应用商店要求:在亚马逊应用商店进行提交之前需要进行验证
工作方式
严格的ABI检查通过在构建过程中验证两个关键要求来强制实现二进制兼容性:规则1:不要捆绑系统ABI二进制文件
如果二进制文件出现在官方Vega ABI列表中,则该二进制文件由系统提供。您的程序包不得捆绑这些二进制文件。 应当做什么: 动态链接系统二进制文件。它们在运行时可在所有Vega设备上使用。规则2:满足所有二进制依赖项要求
程序包中的每个二进制依赖项都必须:- 捆绑在您的VPKG中,或者
- 列在官方Vega ABI清单上
验证您的程序包
默认情况下,vega exec vpt validate命令会执行严格的ABI检查,以确保您的程序包符合亚马逊应用商店的提交要求。 在提示符处,输入:官方Vega ABI列表
以下系统库由Vega OS提供,不得捆绑在您的程序包中:标准C库:
- libc.so.6
- libdl.so.2
- libm.so.6
- libpthread.so.0
- librt.so.1
- libutil.so.1
特定于平台的库:
- libapmf.so
- libkeplerscript.so
动态链接器:
- ld-linux-*

