tauri项目通过qemu模拟arm架构并打包成可运行于arm架构上的ubuntu上的appimage应用程序

示例项目背景

  1. 项目是基于tauri开发的;
  2. 现在在win10上通过qemu模拟arm架构并运行了ubuntu-22.04;
  3. 目标:tauri项目打包成可运行于arm架构上的ubuntu上的appimage应用程序

环境搭建相关

【qemu 环境搭建】

见:win10上QEMU 虚拟机安装与配置

【系统内环境搭建】

  1. 系统依赖:
    见:先决条件 -》系统依赖

  2. Rust:(已安装)
    见:先决条件 -》Rust
    命令:curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
    版本:rustc --version -》rustc 1.88.0 (6b00bc388 2025-06-23)

  3. Tauri CLI 工具安装:(使用 cargo 安装 Tauri CLI)
    命令:cargo install tauri-cli --version "^2.0.0" --locked
    版本:cargo tauri --version -》tauri-cli 2.7.1

  4. xdg-open:(命令行工具)
    命令:sudo apt-get install xdg-utils
    版本:xdg-open --version -》xdg-open 1.1.3
    .desktop 文件位置(自己创建):~/.local/share/applications/xdg-open.desktop
    .desktop 文件内容:
    ···
    [Desktop Entry]
    Type=Application
    Name=xdg-open
    Exec=xdg-open %u
    ···

  5. bun 包管理器:(用于代替 npm)
    命令:curl -fsSL https://bun.sh/install | bash
    版本:bun --version -》1.2.19

打包相关操作

【方案 1:在线一键打包】(网络顺畅的情况)

cargo tauri build --bundles appimage --verbose

【方案 2:离线 分步 打包】(网络有问题,不分文件下载被墙的情况;目前遇到的主要是linuxdeploy-plugin-gtk.sh无法下载)

  1. 构建项目:(生成二进制文件)
cargo tauri build --bundles appimage --verbose --no-bundle
# 将在

------------ 以下步骤,待进一步验证,与之前的成功经历有些许不同 -------------

  1. 手搓 AppDir:
# 先创建干净的 AppDir:

cd ~/my-tauri-app/src-tauri/target/release/bundle/

APP=myapp                         # 你的可执行文件名(不含后缀)
VERSION=0.1.0                     # 版本号

mkdir -p ${APP}.AppDir/usr/bin
mkdir -p ${APP}.AppDir/usr/share/applications
mkdir -p ${APP}.AppDir/usr/share/icons/hicolor/512x512/apps
# 拷贝相关文件

# 可执行文件
cp target/release/${APP} ${APP}.AppDir/usr/bin/

# .desktop 文件(Tauri 已经生成)
cp *.desktop ${APP}.AppDir/usr/share/applications/

# 图标(Tauri 已经生成)
cp *.png ${APP}.AppDir/usr/share/icons/hicolor/512x512/apps/

# 创建 AppRun 软链接(最简单方式)
ln -s usr/bin/${APP} ${APP}.AppDir/AppRun

# 拷贝 .desktop 到根目录,并改名为和可执行文件同名
cp *.desktop ${APP}.AppDir/${APP}.desktop
  1. 准备打包工具:
# 下载一次即可
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage

# 或者手动复制链接到浏览器下载
  1. 打包:
./appimagetool-x86_64.AppImage ${APP}.AppDir

完成后你会得到

{APP}-{VERSION}-x86_64.AppImage

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容