随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

windows10编译scrcpy

一、概述

  简介:Scrcpy是一款小巧的Android投屏软件,能够跨平台其支持Windows、Mac、Linux系统。右PC充当客户端,Android板子作为服务端。

  原理:Android将录屏发送给PC,PC接收到数据后进行展示。PC上鼠标点击录屏上对应的坐标,把坐标通过Socket通信传递给Android端,实现对Android的控制

  Scrcpy源码

二、准备工作

  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的步骤,先记录到这里,后面遇到问题再补充。

posted on   飘杨......  阅读(1315)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的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封装(一)
< 2025年3月 >
23 24 25 26 27 28 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 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示