Snapcraft
¥Prerequisites
1.
sudo apt install snapdsudo pacman -S --needed git base-develgit clone https://aur.archlinux.org/snapd.gitcd snapdmakepkg -sisudo systemctl enable --now snapd.socketsudo systemctl start snapd.socketsudo systemctl enable --now snapd.apparmor.servicesudo dnf install snapd# Enable classic snap supportsudo ln -s /var/lib/snapd/snap /snap之后重新启动系统。
¥Reboot your system afterwards.
2.
sudo snap install core223.
sudo snap install snapcraft --classic¥Configuration
- 
创建一个 UbuntuOne 账户。
¥Create an UbuntuOne account.
 - 
转到 Snapcraft 网站并注册应用名称。
¥Go to the Snapcraft website and register an App name.
 - 
在你的项目根目录中创建一个 snapcraft.yaml 文件。
¥Create a snapcraft.yaml file in your projects root.
 - 
调整 snapcraft.yaml 文件中的名称。
¥Adjust the names in the snapcraft.yaml file.
 
name: appnamebase: core22version: '0.1.0'summary: Your summary # 79 char long summarydescription: |  Your description
grade: stableconfinement: strict
layout:  /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.1:    bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.1
apps:  appname:    command: usr/bin/appname    desktop: usr/share/applications/appname.desktop    extensions: [gnome]    #plugs:    #  - network    # Add whatever plugs you need here, see https://snapcraft.io/docs/snapcraft-interfaces for more info.    # The gnome extension already includes [ desktop, desktop-legacy, gsettings, opengl, wayland, x11, mount-observe, calendar-service ]    #  - single-instance-plug # add this if you're using the single-instance plugin    #slots:    # Add the slots you need to expose to other snaps    #  - single-instance-plug # add this if you're using the single-instance plugin
# Add these lines only if you're using the single-instance plugin# Check https://v2.tauri.app/plugin/single-instance/ for details#slots:#  single-instance:#    interface: dbus#    bus: session#    name: org.net_mydomain_MyApp.SingleInstance # Remember to change net_mydomain_MyApp to your app ID with "_" instead of "." and "-"##plugs:#  single-instance-plug:#    interface: dbus#    bus: session#    name: org.net_mydomain_MyApp.SingleInstance # Remember to change net_mydomain_MyApp to your app ID with "_" instead of "." and "-"
package-repositories:  - type: apt    components: [main]    suites: [noble]    key-id: 78E1918602959B9C59103100F1831DDAFC42E99D    url: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
parts:  build-app:    plugin: dump    build-snaps:      - node/20/stable      - rustup/latest/stable    build-packages:      - libwebkit2gtk-4.1-dev      - build-essential      - curl      - wget      - file      - libxdo-dev      - libssl-dev      - libayatana-appindicator3-dev      - librsvg2-dev      - dpkg    stage-packages:      - libwebkit2gtk-4.1-0      - libayatana-appindicator3-1    source: .    override-build: |      set -eu      npm install      npm run tauri build -- --bundles deb      dpkg -x src-tauri/target/release/bundle/deb/*.deb $SNAPCRAFT_PART_INSTALL/      sed -i -e "s|Icon=appname|Icon=/usr/share/icons/hicolor/32x32/apps/appname.png|g" $SNAPCRAFT_PART_INSTALL/usr/share/applications/appname.desktop¥Explanation
- 
name变量定义你的应用的名称,需要设置为你之前注册的名称。¥The
namevariable defines the name of your app and is required to be set to the name that you have registered earlier. - 
base变量定义你正在使用哪个核心。¥The
basevariable defines which core you are using. - 
version变量定义版本,应随源存储库的每次更改而更新。¥The
versionvariable defines the version, and should be updated with each change to the source repository. - 
apps部分允许你公开桌面和二进制文件以允许用户运行你的应用。¥The
appssection allows you to expose the desktop and binary files to allow the user to run your app. - 
package-repositories部分允许你添加包存储库以帮助你满足依赖。¥The
package-repositoriessection allows you to add a package repository to help you satisfy your dependencies. - 
build-packages/build-snaps定义你的 snap 的构建依赖。¥
build-packages/build-snapsdefines the build dependencies for your snap. - 
stage-packages/stage-snaps定义你的 snap 的运行时依赖。¥
stage-packages/stage-snapsdefines the runtime dependencies for your snap. - 
override-build部分在提取源代码后运行一系列命令。¥The
override-buildsection runs a series of commands after the sources were pulled. 
¥Building
sudo snapcraft¥Testing
snap run your-app¥Releasing Manually
snapcraft login # Login with your UbuntuOne credentialssnapcraft upload --release=stable mysnap_latest_amd64.snap¥Building automatically
- 
在你的应用开发者页面上,单击
builds选项卡。¥On your apps developer page click on the
buildstab. - 
单击
login with github。¥Click
login with github. - 
输入你的存储库的详细信息。
¥Enter in your repository’s details.
 
Tauri v2.9 中文网 - 粤ICP备13048890号
Nodejs.cn 旗下网站