新闻详情

新闻详情

首页 / 资讯中心 / 详情

QtScrcpy 安装包制作指南:Windows Installer 与 macOS DMG 完整打包实战

发布时间:2026/9/29 2:17:51来源:尧图网络
QtScrcpy 安装包制作指南:Windows Installer 与 macOS DMG 完整打包实战
QtScrcpy 安装包制作指南Windows Installer 与 macOS DMG 完整打包实战【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy编译能通过是一回事交到用户手里的是不是一个双击就能装的包是另一回事。QtScrcpy 的安装包制作本质就是把这句话从愿望变成流水线动作Windows 侧要把 adb、运行库、按键映射攒齐并封装成 InstallermacOS 侧要渲染出一个带拖拽安装界面的 DMG。整条链路全靠ci/目录里的脚本驱动下面把两条打包线从头到尾走一遍。工具链全景打包脚本一张表脚本 / 工具平台一句话职责ci/win/build_for_win.batWindows选架构、清目录CMake 生成 VS 工程并编译ci/win/publish_for_win.batWindows聚齐 adb/keymap/Qt 运行库瘦身产出绿色版ci/mac/build_for_mac.shmacOS按 arm64/x64 编译出 QtScrcpy.appci/mac/package_for_mac.shmacOS安装 dmgbuild 依赖并触发 DMG 打包ci/mac/package/package.pymacOS写出 DMG 配置调用 dmgbuild 生成 .dmgci/linux/build_for_linux.shLinuxCI 环境下的 CMake 编译ci/generate-version.py跨平台从 git tag 提取版本号写进 appversiondmgbuildpip 包macOS渲染带拖拽布局的 DMG 安装界面顺着这张表先走 Windows再走 macOS收尾看流水线如何接管版本号与架构切分。Windows Installer 打包全链路环境就绪MSVC 与 Qt 路径先对齐脚本只认两个环境变量ENV_QT_PATH必须提前指到 Qt 安装根目录ENV_VCVARSALL指向 VS 的 vcvarsall.bat。第二个命令行参数决定架构x86 与 x64 各有一条 Qt CMake 配置路径if /i %2x64 (set qt_cmake_path%ENV_QT_PATH%\msvc2019_64\lib\cmake\Qt5)跑完这段判断你会拿到按架构定好的qt_cmake_path以及配套的 Win32/x64 生成参数。开跑前脚本还会清场⚠️ 这是防止上次编译残留混进新产物的关键动作if exist %output_path% rmdir /q /s %output_path% md %temp_path%跑完 output 与 build_temp 都不复存在构建从白纸状态开始。CMake 编译构建两行命令出 exe生成阶段用 Visual Studio 17 2022 生成器、按架构指定 -A 平台参数构建阶段固定 8 线程并行cmake %cmake_params% ../.. cmake --build . --config %build_mode% -j8%cmake_params%展开即 -DCMAKE_PREFIX_PATH指向上一步的 Qt 路径、-DCMAKE_BUILD_TYPE、-G 与 -A。跑完在 output 目录下得到对应架构的 QtScrcpy.exe 与全套二进制。x86 和 x64 要各跑一遍产物分放 output\x86 与 output\x64发布脚本按架构取料。资源部署与体积瘦身windeployqt 之后做减法exe 只在自己机器上能跑。ci/win/publish_for_win.bat 把发布物料聚齐构建产物、third_party 里自带的 adb 与 scrcpy-server、keymap 按键映射、config 默认配置逐个 xcopy 进发布目录再交给 windeployqt——Qt 官方依赖部署工具——补齐 Qt 运行库xcopy %release_path% %publish_path% /E /Y windeployqt %publish_path%\QtScrcpy.exewindeployqt 会顺手把 vc_redist 运行库安装包也带进来脚本直接删掉它改为从 System32 拷入 vcruntime140.dll 等现成运行库用户装包时少一步。 体积上继续做减法iconengines、translations 整目录删除imageformats 只留 qjpeg 这类必需的qgif、qwebp 等一律剔除rmdir /s /q %publish_path%\translations del %publish_path%\imageformats\qgif.dll跑完发布目录就是一个双击能跑的绿色版。封装 Installer绿色版物料就位绿色版目录本身就是 Installer 的物料清单交给 Inno Setup 这类封装工具配置好安装路径与快捷方式产出的 Setup 包才配得上双击就装。⚠️ 发布前核对目录里 DLL 的位数与 exe 一致x86 与 x64 两份物料别混装。macOS DMG 制作全链路环境就绪CMake 多架构编译参数定架构这边同样靠ENV_QT_PATH但按 CPU 架构分两条线Intel 机x64走 clang_64 下的 Qt5Apple Siliconarm64走 macos 下的 Qt6qt_cmake_path$ENV_QT_PATH/macos/lib/cmake/Qt6 cmake_params-DCMAKE_PREFIX_PATH$qt_cmake_path -DCMAKE_OSX_ARCHITECTURES$cmake_archCMAKE_OSX_ARCHITECTURES就是架构总开关x86_64 或 arm64 二选一。跑完 cmake --buildbuild 目录下得到单架构的 QtScrcpy.app两种 Mac 都要覆盖就把两条线各跑一遍。开源分发默认不挂 Apple Developer ID 签名DMG 布局里因此随附了一份安装说明用户遇到隔离提示时照着处理即可。dmgbuild 配置窗口、背景与拖拽布局ci/mac/package/package.py 先把配置写成 dmg-settings.json再交给 dmgbuild 渲染。整个 info 字典里真正决定观感的是这几个键info { title: app_name, background: dmg_background_img, format: UDZO, compression-level: 9, window: {size: {width: 780, height: 480}}, contents: [app, /Applications, readme] }background 是开窗时铺底的图片window size 定开窗尺寸contents 把 app 放左、/Applications 软链放右——拖过去的安装动线就是这么画出来的。生成产物一条命令出 DMG打包入口 ci/mac/package_for_mac.sh 两步走先装依赖再跑打包脚本dmgbuild 据此渲染出成品pip install -r $script_path/package/requirements.txt python $script_path/package/package.py跑完 build/ 下得到 QtScrcpy.dmg窗口里是背景图、应用图标与 /Applications 拖拽目标✅ 动线完全贴合 macOS 用户的安装直觉。流水线与版本自动化版本号不手写ci/generate-version.py 用git describe取最近 tag剥掉 v 前缀写进 appversion——tag 打在哪安装包版本号就是哪。架构切换统一走 CMAKE_OSX_ARCHITECTURES / -A 参数Win 的 x86、x64 与 Mac 的 x64、arm64 各出一条构建线产物分目录互不干扰。linux/mac/win 三端脚本形态一致清目录 → cmake 配置 → -j8 并行构建挂进 GitHub Actions 或 GitLab CI 就是现成的 Qt 跨平台发布流水线成品上传为 artifact 供下载。排障速查❓windeployqt: command not found PATH 里缺 Qt 的 bin 目录 ✅export PATH$ENV_QT_PATH/clang_64/bin:$PATH按实际 Qt 子目录改重跑发布脚本❓ DMG 打开后背景图比例失调、图标错位 背景图分辨率与 780×480 窗口不匹配或 background 键路径指错 ✅ 换等比例背景图确认配置里的路径指向 dmg-background.jpg❓ CI 上编译慢、CPU 打满 -j 线程数与构建机核数不匹配 ✅ 本地保持 -j8CI 里改 -j$(nproc) 按实际资源放开一套脚本钉死三端出包动作发布不再靠手。引入 NSIS 或 WiX自动产出 Windows Installer集成 Sparkle实现 macOS 自动更新【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

16G显存真能跑27B量化大模型?实操效果与优化指南 2026/9/29 6:57:57

16G显存真能跑27B量化大模型?实操效果与优化指南

先别急着过年,如果你手头正好是一张16G显存的显卡,又刷到今天这种标题——"16G显存本地部署27B量化大模型实际效果"——你的第一反应可能是:真的假的?会不会卡成PPT?量化之后还能用吗?我先直接说…

阅读更多 →
Twitter营销自动化实战:工具选择、安全边界与运营策略 2026/9/29 6:57:57

Twitter营销自动化实战:工具选择、安全边界与运营策略

很多人盯上Twitter营销,第一反应就是“搞个自动化工具,机器发帖,省事”。这个思路没错,但往往死得也最快——账号一封,前面积累的粉丝和权重全打水漂。我做海外社交媒体运营这几年,从纯手动发帖到重度依赖各…

阅读更多 →
从零搭建AI工程能力:数据、模型、训练与推理全链路实践 2026/9/29 6:57:57

从零搭建AI工程能力:数据、模型、训练与推理全链路实践

1. 从零搭建AI工程能力:为什么我劝你别一上来就调包这两年AI应用开发的门槛肉眼可见地降低了,随便拉个框架、调个API就能跑出一个能对话的Demo。但我带过不少新人,也面试过不少号称“做过AI项目”的候选人,发现一个很普遍的问题&a…

阅读更多 →
Hindsight:面向LLM应用的轻量级API可观测性工具 2026/9/29 6:57:57

Hindsight:面向LLM应用的轻量级API可观测性工具

1. 项目概述:Hindsight 不是“事后诸葛亮”,而是一套可落地的 LLM 工程化观测系统你有没有遇到过这样的情况:线上跑着一个调用 OpenAI 或 DeepSeek 的 API 服务,突然某天开始大量返回401 Unauthorized,日志里只有一行i…

阅读更多 →
SciDavis完全指南:Mac上免费替代Origin的科研绘图工具 2026/9/29 6:57:57

SciDavis完全指南:Mac上免费替代Origin的科研绘图工具

从Origin“叛逃”到SciDavis的过程,我一直想找个时间好好聊聊。工科生做科研,画图是绕不过去的一关。不少人和我一样,最开始用的是Origin,但它在Mac上的体验,说多了都是泪——要么靠虚拟机跑Windows,要么用…

阅读更多 →
[智能体-538]:Coze、Dify、Hermes、LangChain 四者完整对比:TaoToken 统一 Key 接入配置骨架 2026/9/29 6:57:50

[智能体-538]:Coze、Dify、Hermes、LangChain 四者完整对比:TaoToken 统一 Key 接入配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉