windows10编译scrcpy

一、概述

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

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

  Scrcpy源码

二、准备工作

  1.下载Scrcpy源代码【下载】

  2.下载msys64

   3.在开始菜单运行msys2

  4.打开后先安装客户端所需要的类库

#运行环境需要的库
pacman -S mingw-w64-x86_64-SDL2 \
          mingw-w64-x86_64-ffmpeg \
          mingw-w64-x86_64-libusb

  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运行命令执行编译

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中有说明

# 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.执行如下命令运行程序

./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 2023-11-03 13:38  飘杨......  阅读(609)  评论(0编辑  收藏  举报