windows10编译scrcpy
一、概述
简介:Scrcpy是一款小巧的Android投屏软件,能够跨平台其支持Windows、Mac、Linux系统。右PC充当客户端,Android板子作为服务端。
原理:Android将录屏发送给PC,PC接收到数据后进行展示。PC上鼠标点击录屏上对应的坐标,把坐标通过Socket通信传递给Android端,实现对Android的控制
二、准备工作
1.下载Scrcpy源代码【下载】
2.下载msys64
3.在开始菜单运行msys2
4.打开后先安装客户端所需要的类库
1 2 3 4 | #运行环境需要的库 pacman -S mingw-w64-x86_64-SDL2 \ mingw-w64-x86_64-ffmpeg \ mingw-w64-x86_64-libusb |
5.安装编译环境
1 2 3 4 5 | #客户端编译需要用到的库 pacman -S mingw-w64-x86_64-make \ mingw-w64-x86_64-gcc \ mingw-w64-x86_64-pkg-config \ mingw-w64-x86_64-meson |
6.打开minigw64.exe运行命令执行编译
1 2 3 | meson setup x --buildtype=release --strip -Db_lto= true \ -Dprebuilt_server=server/scrcpy-server ninja -Cx |
其中-Dprebuilt_server不为空,则执行预编译文件,如果为空则不适用预编译文件,转而使用本地代码编译出一个apk。这个-Dprebuilt_server在scrcpy-2.2/server/meson.build中有说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # It may be useful to use a prebuilt server, so that no Android SDK is required # to build. If the 'prebuilt_server' option is set, just copy the file as is. prebuilt_server = get_option( 'prebuilt_server' ) if prebuilt_server == '' //如果预编译路径为空则执行客户端自定义编译,即用本地环境编译 custom_target( 'scrcpy-server' , # gradle is responsible for tracking source changes build_by_default: true , build_always_stale: true , output: 'scrcpy-server' , command: [find_program( './scripts/build-wrapper.sh' ), meson.current_source_dir(), '@OUTPUT@' , get_option( 'buildtype' )], console: true , install: true , install_dir: 'share/scrcpy' ) else if not prebuilt_server.startswith( '/' ) # prebuilt server path is relative to the root scrcpy directory prebuilt_server = '../' + prebuilt_server endif custom_target( 'scrcpy-server-prebuilt' , input: prebuilt_server, output: 'scrcpy-server' , command: [ 'cp' , '@INPUT@' , '@OUTPUT@' ], install: true , install_dir: 'share/scrcpy' ) endif |
如果以上命令执行成功则会出现如下图所示:代表已经编译完成
执行成功后会在scrcpy-2.2/x/server目录下生成scrcpy-server文件
7.执行如下命令运行程序
1 | ./run x |
其中run为scrcpy-2.2目录下的run文件 ,x代表scrcpy-2.2目录下的x目录
8.运行效果如下图
此时手机已经能投屏到PC上了
三、遇到的问题
1.我编译使用的源码版本为scrcpy-2.2,运行所需的java jdk的版本必须是java11+不然会build不成功
2.要想要连接成功,则必须手机端打开usb调试。不然会提示“”“没有任何设备连接adb”
3.配置java环境变量的时候需配置%JAVA_HOME%,不然会提示找不到JAVA_HOME
四、总结
以上就是windows10编译scrcpy2.2的步骤,先记录到这里,后面遇到问题再补充。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
2021-11-03 Android 最简单的视频播放器之OpenGL ES视频渲染工具封装(三)
2021-11-03 Android最简单的视频播放器之MediaCodec硬件解码器封装(二)
2021-11-03 Android 最简单的播放器之MediaExtractor封装(一)