LocalSend AppImage 打包实战:从 Flutter 产物到跨发行版分发
LocalSend AppImage 打包实战从 Flutter 产物到跨发行版分发【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend用 AppImage 把 LocalSend 打成单文件丢到任意 Linux 发行版直接运行。本文覆盖装依赖、拉代码、Flutter 出产物、写 recipe、跑 builder 和多架构复用外加排错与签名流程。 方案选型速览选型上deb 走包管理器要 root绑定发行版和版本号跨老系统最麻烦。Snap 和 Flatpak 靠各自运行时隔离依赖兼容性好但用户得先装运行时首次体验有门槛沙盒还会限制部分系统集成。AppImage 把依赖全部塞进自身用户级权限即可运行跨版本兼容最强代价是文件偏大、没有内建自动更新。结论给 LocalSend 这类轻量工具做跨发行版分发AppImage 当补充渠道最合适。 从零构建到出包装齐 Flutter 与 AppImage 依赖先装构建环境分三类Flutter 自身的系统依赖、LocalSend 需要的系统托盘组件、AppImage 打包工具链。# Flutter 构建系统依赖 sudo apt install curl clang cmake libgtk-3-dev ninja-build # LocalSend 的系统托盘组件 sudo apt install libayatana-appindicator3-dev # AppImage 运行时与打包工具链 sudo apt install libfuse2 squashfs-tools sudo chmod x appimage-builder-x86_64.AppImage sudo mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder跑完which appimage-builder有输出、lsmod | grep fuse能看到 fuse 模块就满足下一步条件。拉代码并初始化子模块仓库把 Flutter SDK 放在 git 子模块里不初始化就没有可用的 flutter 二进制。git clone https://gitcode.com/GitHub_Trending/lo/localsend cd localsend git submodule update --init执行完应看到submodules/flutter/bin/flutter它就是后续构建用的 flutter。跑 Flutter 出 Linux 构建产物清理缓存、生成代码、构建 Linux 版然后把发布产物挪进 AppDir。alias fluttersubmodules/flutter/bin/flutter flutter clean flutter pub get flutter pub run build_runner build -d flutter build linux rm -rf AppDir mkdir AppDir cp -r build/linux/x64/release/bundle/* AppDirAppDir/下出现localsend_app二进制、.desktop文件和图标即满足 builder 的输入条件。写 AppImage reciperecipe 用 support/build/appimage/AppImageBuilder_x86_64.yml核心片段如下重点看AppDir、apt、runtime三段。version: 1 script: - which mksquashfs || apt install squashfs-tools AppDir: path: AppDir app_info: id: org.localsend.localsend_app # 桌面条目的唯一 id name: LocalSend icon: localsend version: latest # 占位版本号文件名用它拼接 exec: localsend_app # 入口二进制 exec_args: $ # 把命令行参数透传给应用 apt: arch: [amd64] # 锁定架构避免混入多套库 sources: - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main restricted include: - libayatana-appindicator3-1:amd64 # 托盘功能所需 - librsvg2-common:amd64 # 图标渲染所需 exclude: - adwaita-icon-theme:* # 排除默认图标主题瘦身 runtime: env: XDG_DATA_DIRS: /usr/local/share/:/usr/share/:${XDG_DATA_DIRS}保存后确认exec指向的名字与AppDir里的二进制文件名一致再进下一步。跑 appimage-builder 出包执行 builder产物落在当前目录。appimage-builder sudo chmod x LocalSend-latest-x86_64.AppImage跑完终端输出Created LocalSend-latest-x86_64.AppImage文件可直接双击执行。多架构 recipe 切换ARM64 复用同一套结构把 x86 的 recipe 复制成 ARM 版 support/build/appimage/AppImageBuilder_arm_64.yml仅改arch字段。cp support/build/appimage/AppImageBuilder_x86_64.yml \ support/build/appimage/AppImageBuilder_arm_64.yml # 编辑副本apt.arch 改为 arm64include 包名后缀改为 :arm64 cd /path/to/localsend appimage-builder --recipe support/build/appimage/AppImageBuilder_arm_64.yml chmod x LocalSend-latest-arm_64.AppImage注意 arm64 构建要交叉编译产物或直接在 ARM 环境跑flutter build linux两个文件各自独立发布。 配错会怎样启动报error while loading shared libraries→ldd AppDir/localsend_app | grep not found→ 把缺失的库加进 recipe 的apt.include重新出包。运行提示 FUSE 挂载失败 →lsmod | grep fuse→ 目标机装libfuse2内核模块或改用--appimage-extract解压后运行。桌面菜单不出现图标 →grep Exec AppDir/share/applications/*.desktop→ 检查 recipe 的icon与exec名称补上.desktop字段重打。在 ARM 机上报cannot execute binary file→file LocalSend-latest-x86_64.AppImage | grep -o x86-64→ 换 ARM 版 recipe 构建的 AppImage。 体积与签名裁剪体积抓两头排除usr/share/man与 doc 类文档目录apt.arch锁死单一架构不混库。发布前出 detached 签名下载者用公钥核验du -sh AppDir gpg --detach-sign --armor LocalSend-latest-x86_64.AppImage gpg --verify LocalSend-latest-x86_64.AppImage.asc把 recipe 和这两行塞进 CI 的 compile 阶段tag 一打就出包。【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

CVE-2026-64638实战:WordPress XSS2Shell从无认证XSS到RCE完整利用教程

CVE-2026-64638实战:WordPress XSS2Shell从无认证XSS到RCE完整利用教程

1. 漏洞核心基础(实战必备) CVE-2026-64638是2026年8月公开的WordPress核心高危漏洞,业内统一命名为XSS2Shell。该漏洞打破了传统反射型XSS危害局限,通过原生功能链式组合,实现了从游客无权限访问到服务器代码执行的完…

2026/8/24 4:44:33 阅读更多 →
AI智能体技能安全:测绘静态分析检测边界与构建纵深防御体系

AI智能体技能安全:测绘静态分析检测边界与构建纵深防御体系

1. 项目缘起:当AI智能体技能成为攻击面最近几个月,AI智能体(Agent)的开发热度持续攀升,从简单的自动化脚本到能够自主规划、调用工具完成复杂任务的智能体,其能力边界正在快速扩展。随之而来的,…

2026/8/24 4:44:33 阅读更多 →
Hister:打造私有搜索引擎,高效检索知识,保护数字隐私!

Hister:打造私有搜索引擎,高效检索知识,保护数字隐私!

直达主内容有数据集、文档、文章等相关链接,还有支持和 GitHub 相关内容。打造属于你的搜索引擎Hister 能将访问的网页和保存的文件转化为私有、全内容搜索索引,由用户掌控。有快速开始、下载扩展程序等入口,还是 GitHub 上的免费软件。已索引…

2026/8/24 4:44:33 阅读更多 →

最新新闻

Countly iOS SDK 推送通知跟踪教程:Token注册、权限请求与点击行为上报一步到位

Countly iOS SDK 推送通知跟踪教程:Token注册、权限请求与点击行为上报一步到位

Countly iOS SDK 推送通知跟踪教程:Token注册、权限请求与点击行为上报一步到位 【免费下载链接】countly-sdk-ios Countly Digital Analytics iOS SDK with macOS, watchOS and tvOS support. 项目地址: https://gitcode.com/gh_mirrors/co/countly-sdk-ios …

2026/8/24 9:53:19 阅读更多 →
TranAD进阶实战:如何接入自定义多变量时间序列数据,快速构建异常检测流水线

TranAD进阶实战:如何接入自定义多变量时间序列数据,快速构建异常检测流水线

TranAD进阶实战:如何接入自定义多变量时间序列数据,快速构建异常检测流水线 【免费下载链接】TranAD [VLDB22] Anomaly Detection using Transformers, self-conditioning and adversarial training. 项目地址: https://gitcode.com/gh_mirrors/tr/Tra…

2026/8/24 9:53:18 阅读更多 →
AI科学模拟可靠性保障:裁判智能体的架构设计与工程实践

AI科学模拟可靠性保障:裁判智能体的架构设计与工程实践

1. 项目概述:当AI生成科学模拟时,谁来当裁判?最近几年,AI生成内容(AIGC)的风潮从文本、图像席卷到了更硬核的领域——科学模拟。无论是计算流体动力学、分子动力学,还是材料相图预测&#xff0c…

2026/8/24 9:53:18 阅读更多 →
C++非类型模板参数:编译期常量与泛型编程的进阶应用

C++非类型模板参数:编译期常量与泛型编程的进阶应用

1. 从“类型”到“值”&#xff1a;非类型模板参数的本质在C模板的世界里&#xff0c;我们最熟悉的莫过于类型模板参数了。每次写template<typename T>或者template<class T>&#xff0c;都是在告诉编译器&#xff1a;“这里有个类型T&#xff0c;等我实例化模板的…

2026/8/24 9:53:18 阅读更多 →
[LLMD]写作协议:通用语料·纯协议·CSDN适配 v3.0(通用版)

[LLMD]写作协议:通用语料·纯协议·CSDN适配 v3.0(通用版)

写作协议&#xff1a;通用语料CSDN适配 v3.0&#xff08;通用版&#xff09; 一、协议说明本协议是对2026年8月6日至8月21日期间&#xff0c;经过约700轮对话、多次纠偏与状态校准后形成的写作状态的完整封装。 协议生效条件&#xff1a;你已完整读取并理解以下全部内容。在新会…

2026/8/24 9:53:18 阅读更多 →
java-reader分布式专题:分布式事务、Raft协议与高可用裂脑问题,从入门到原理

java-reader分布式专题:分布式事务、Raft协议与高可用裂脑问题,从入门到原理

java-reader分布式专题&#xff1a;分布式事务、Raft协议与高可用裂脑问题&#xff0c;从入门到原理 【免费下载链接】java-reader &#x1f4d6;Java工程师学习历程与笔记&#xff0c;附含算法、Java基础、框架实战、框架源码、框架实现、中间件、面试题等知识和学习蓝图。 …

2026/8/24 9:52:17 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力&#xff1b;确需渲染 HTML 时&#xff0c;先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述&#xff1a;Windows登录密码的“黑匣子”每次你按下CtrlAltDel&#xff0c;输入密码&#xff0c;然后看到那个熟悉的桌面&#xff0c;这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者&#xff0c;我经常被问到&#xff1a;“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述&#xff1a;AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时&#xff0c;遇到一个典型案例&#xff1a;候选人在视频面试中无意提到竞争对手产品名称&#xff0c;系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →