Snap 的硬件架构

Snap 的硬件架构

我刚刚发布了我的第一个 snap (mathjump) 该软件包是在 x86 系统上构建的。有没有办法为其他架构上传同一软件包名称下的不同修订版本。我假设我的 x86 snap 在其他架构上无法正常工作,但也许我错了。

答案1

是的,您可以上传商店支持的任何架构的软件包(amd64、i386、armhf、arm64,甚至 ppc64el 和 s390x 也可以)。唯一的要求是您必须能够实际构建这些架构的 snap(除非您的 snap 全部是 shell 脚本或类似地非架构特定)。您可以通过几种不同的方式做到这一点:

  • 在具有所需架构的设备(或模拟设备)上构建您的 snap。如果您的 snap 是闭源的,并且您希望完全控制其构建过程,那么这确实是唯一的方法。

  • 在(免费提供的)Launchpad snap builders 上构建您的 snap:将包含您的项目提交snapcraft.yaml到 Launchpad 并选择您想要支持的架构,它会为您构建(甚至上传到商店)您的 snap。您可以阅读更多相关信息这里

任何一种解决方案都会生成一个 snap,你可以将它与你已上传的针对其他架构的修订版本一起提交到商店。它将获得自己的修订编号,等等。

答案2

在里面

snapcraft.yaml

文件,您可以添加行architectures: [all]

description: |
This is the description.


architectures: [all]

apps: ...

all您的快照现在将以单词结尾的形式创建。

snap名称_版本_all.snap

这表明 snap 本身可以在所有架构上安装。(不确定是否可以正常工作)。

相关内容