
Godot 跨平台导出指南让游戏在 Windows、macOS、Linux 跑起来【免费下载链接】godot-docsGodot Engine official documentation项目地址: https://gitcode.com/GitHub_Trending/go/godot-docs功能都写完了Demo 也能跑了怎么让它装进用户的桌面本指南基于 Godot 官方文档仓库 godot-docs带你完整走一遍 Godot 桌面端导出与发布从第一次导出跑通到 Windows、macOS、Linux 逐个过关再到签名、公证和 CI 自动化。读完你会带走三件事一套能直接发给用户的安装包一套可复用的发布流程和一套卡住时的排查手感。动手前先把这份自查清单过一遍这一步解决导出到一半报错、发出去用户装不上的问题做完得到一个随时可以导出的项目状态。项目设置里应用名称、版本号已填好应用 应用名称、应用 版本发布前改版本号是最常见的忘事项目图标设为 1024×1024 的正方图各平台导出时会自动从它裁切导出模板已安装编辑器 管理导出模板按需勾选平台与架构游戏里有中文、日文、韩文或 emoji装模板时勾上ICU Data否则这些字会变成方块export_presets.cfg提交进版本控制里面没有秘密.godot/export_credentials.cfg不要提交证书密码、加密密钥都在里面macOS 的 Bundle identifier 已填成反向域名格式如com.yourname.yourgame且全局唯一想好输出目录比如builds/三个平台统一放一起方便 CI 收集用不到脚本加密就别设要设的话用环境变量GODOT_SCRIPT_ENCRYPTION_KEY别写死在配置里一个容易踩的细节以点开头的文件和文件夹比如.git永远不会被打进导出包这点是故意的不用担心。Windows 首次导出拿到第一个能点的 exe这一步解决从代码到可执行文件的最短路径做完得到一个.exe加一个data.pck双击就能玩。先装好模板再点编辑器右上角的导出按钮。第一次打开时窗口是空的点添加…选 Windows Desktop默认选项基本够用三个要点输出文件的后缀必须是.exe扩展名决定导出流程写错会直接报错默认架构 x86_64 覆盖绝大多数 PC只有明确要支持 Windows on ARM比如骁龙 X 系列笔记本才额外导 arm64导出产物 精简可执行文件 data.pck资源包可执行文件内嵌 PCK 的上限约 3.89 GB含 PCK 本体普通项目碰不到验证环节别省把builds/game.exe拷到一台没装过 Godot的 Windows 机器上双击。启动、图标、分辨率、存档目录都正常Windows 这条线就算通了。命令行导出长这样后面 CI 会用到godot --path /path/to/your-project --export-release Windows Desktop builds/game.exe注意命令里的输出路径是相对项目目录不是相对你当前终端所在的目录这是新手第一个坑。从能跑到专业签名与公证这一步解决用户不敢打开你的包的问题做完得到一份不带系统警告、能直接分发的安装包。为什么必须做Windows 有 SmartScreenmacOS 有 Gatekeeper两个系统默认都怀疑来路不明的程序。不做的后果很具体——用户看到未知发布者或未验证的开发者弹窗绝大多数人会直接关掉你连解释的机会都没有。Windows 代码签名去掉 SmartScreen 弹窗怎么做分两处配置。第一处在编辑器设置编辑器设置 Export Windows把Sign Tool指到签名工具——Windows 系统上用 Windows SDK 自带的SignTool.exe在 macOS/Linux 上交叉签名用osslsigncode。第二处在导出预设的 Code signing 分组里把 Enabled 打开、Identity 填你的签名证书签完导出SmartScreen 弹窗消失文件属性里能看到你的公司名。macOS 签名与公证先签名再公证最后 staplemacOS 是三道工序少一道用户那边就多一层摩擦。公证的前提是你有 Apple Developer ID 证书苹果开发者计划提供。签名工具三选一按场景对号入座Xcode codesign你在 macOS 上导出装了 Xcode 命令行工具——最正统的路径Identity 填钥匙串里的证书名rcodesign你在 Linux/Windows 上导出——跨平台方案用 PKCS#12 证书文件 密码配置内置 ad-hoc 签名没证书、纯内部测试——用户必须手动绕过 Gatekeeper不能用于正式发布公证工具同理macOS 上用Xcode notarytool跨平台用rcodesign notary。公证前必须把Debugging entitlement 关掉这是硬性要求公证通过后记得执行 staple把公证票据钉进包里用户离线时也能验证。证书、密钥这类秘密一律走环境变量注入导出时它们会覆盖预设里的值export GODOT_MACOS_CODESIGN_CERTIFICATE_FILE/path/to/cert.p12 export GODOT_MACOS_NOTARIZATION_API_UUID你的issuer-uuid export GODOT_MACOS_NOTARIZATION_API_KEY你的api-key这样export_presets.cfg可以放心进仓库密码只存在 CI 的 secrets 里。macOS 过关先看懂 .app 包再分发这一步解决macOS 产物到底是个什么东西的问题做完得到一个结构正确、权限声明干净的.app或 zip/dmg。记住一件事.app是个文件夹不是文件。它的骨架是Contents/MacOS/主可执行文件必须带可执行权限Contents/Resources/资源data.pck就在这附近Contents/Info.plist元信息Bundle identifier 写在这里面官方模板导出的 macOS 包是 Universal 2 二进制Intel 和 Apple Silicon 通吃你不用出两个版本。分发形态三选裸.app、.zip、.dmg——注意dmg 只在 macOS 上导出时可选在 Windows/Linux 上交叉导出请用 zip。权限声明Entitlements的原则是用哪个开哪个要麦克风开 Audio Input 并填用途说明要蓝牙手柄开 Device Bluetooth用了 GDExtension 原生插件打开Disable Library Validation。全部打开等于没沙盒公证也可能不通过。一个交叉导出的经典坑在 Windows 上导出的.app会因为文件系统限制丢掉可执行位拷到 macOS 上跑不起来。.zip形态不受影响已经是.app就补一刀chmod x MyGame.app/Contents/MacOS/MyGame用户那边的 Gatekeeper 表现可以按签名状态预判详见官方文档 running_on_macos.rst已签名且已公证首次打开点一下打开就过体验最好只 ad-hoc 签名用户要右键打开或去系统设置点仍要打开完全未签名用户得手动执行xattr -dr com.apple.quarantine MyGame.app解隔离属性Apple Silicon 上彻底未签名的包还要自己补一道codesign -s -的 ad-hoc 签名Linux 过关格式怎么选依赖怎么办这一步解决Linux 生态碎片化的问题做完得到一个能在目标发行版跑起来的发布形态。Godot 的 Linux 导出产物就是game.x86_64可执行文件 data.pck引擎本身几乎没有外部依赖这是 Godot 在 Linux 上的优势。默认 x86_64 覆盖主流机器如果你的用户里有树莓派 5 之类的 ARM 设备加一个 arm64 版本即可。发布形态按场景选裸二进制 zip 压缩包发 Steam、itch 或自家网站的主流做法简单直接AppImage不想跟发行版依赖扯皮用户双击即用代价是文件偏大Flatpak / Snap要沙盒和商店渠道接受更长的运行时与审核链条只给裸文件小圈子内测最快但缺库时你得自己兜底依赖库只在一种情况下要你操心项目里带了 GDExtension 或原生 addon。发版前用ldd扫一眼把输出里指向系统路径的第三方库非 libc 标准库打包进发布物或者在目标机器上实测ldd game.x86_64 | grep /需要桌面集成的话附一个.desktop文件声明 Name、Exec、Icon 三要素即可Steam 类平台不需要。让机器替你构建CI 自动化思路这一步解决每次发版手动点导出的问题做完得到一条打 tag 就出三包的流水线。不贴完整 YAML只讲清骨架你自己拼。思路就四层装环境拉一个 headless 的 Godot 编辑器二进制 对应版本的导出模板CI 里模板装好再跑别指望镜像里自带跑导出每个平台一条--export-release命令预设名必须和export_presets.cfg里一致预设名带空格要加引号收产物把builds/下三个平台的包上传为构建产物喂秘密证书密码、公证 API 密钥从 CI secrets 注入成环境变量导出过程会覆盖预设里的同名配置godot --path . --export-release Windows Desktop builds/windows/game.exe godot --path . --export-release Linux builds/linux/game.x86_64 godot --path . --export-release macOS builds/macos/game.zip两个提醒macOS 签名公证在 CI 里用 rcodesign 路线最省事不依赖 Xcode只想给已有发行打资源补丁时用--export-pack只导出.pck别整包重发。命令行的完整参数参考官方文档 command_line_tutorial.rst。卡住了怎么办五个最常见死结的解法按现象 → 先查什么 → 怎么修的套路走基本覆盖 90% 的发布事故。现象导出时提示找不到导出模板或平台选项是灰的。先查编辑器 管理导出模板里该平台是否真的装了、架构对不对。 怎么修装缺失的模板模板版本要和编辑器版本完全一致混版本必挂。现象macOS 公证失败导出卡住或报错。先查Debugging entitlement 是不是还开着公证凭据用的 Apple ID 应用专用密码还是 API Key两者不能混着填。 怎么修公证失败会给出一个 request ID用xcrun notarytool log {ID}把日志拉下来看具体拒绝原因按日志修别猜。现象Windows 上导出的 .app 拷到 Mac 上双击没反应。先查是不是 Windows 侧导出的裸.app可执行位丢了。 怎么修对Contents/MacOS/下的主可执行文件执行chmod x长期方案是 Windows 侧统一导.zip。现象用户报 Windows 安全弹窗 / 应用市场拒收。先查证书是否真的签进了产物右键文件 属性 数字签名。 怎么修检查导出预设里 Codesign 的 Enabled 和 Identity 是否生效跨平台 CI 确认 osslsigncode 路径没配错。现象Linux 用户报缺库libXXX.so: cannot open shared object。先查ldd game.x86_64看缺的是哪个库、指向哪个路径。 怎么修把该库连同你的二进制一起打包或用依赖更干净的发行版模板重导。发版前最后核对按下发布键之前过一遍版本号三处一致项目设置、商店页描述、包文件名图标换过了Windows exe 图标、macOS 应用图标、启动器图标三台干净环境各测一次没装过 Godot、没装过开发库的机器WindowsSmartScreen 无弹窗文件属性里能看到你的证书名macOS首次打开只需点一次打开公证票据已 stapleLinux最低配置的发行版上能跑ldd无缺库export_presets.cfg在仓库里export_credentials.cfg不在发布页下载链接指向的是本次构建的产物不是上次的缓存发布这件事没有终点但每一版都该从这份清单开始。祝你的第一个正式版顺利上线。【免费下载链接】godot-docsGodot Engine official documentation项目地址: https://gitcode.com/GitHub_Trending/go/godot-docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考