新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/14 8:15:31来源:尧图网络
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

相关资讯

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

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/14 3:51:47

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/14 3:51:43

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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