手机投屏到电脑

news2024/9/27 7:16:16

手机投屏到电脑

Github 有2个开源的手机投屏项目:

Scrcpy: https://github.com/Genymobile/scrcpy
QtScrcpy: https://github.com/barry-ran/QtScrcpy

在这里插入图片描述

这2个项目都很好用,我这里用的是 Scrcpy:

官方文档中介绍了如何在windows上使用 Scrcpy 连接手机:

在这里插入图片描述
使用 USB 数据线连接上电脑,打开 USB 调试(需要先打开开发者选项功能,不同手机可以在百度搜索开启),
在这里插入图片描述

插上充电线的时候要选择 “传输文件” 选项,不然后面连接的时候会显示找不到设备:
在这里插入图片描述

上面的准备完成之后,打开 Scrcpy ,点击 open_a_terminal_here.bat 选项打开命令行窗口,输入

scecpy

即可连上手机,连不上,可以使用下列命令查看是否有扫描到设备。

./adb devices

第二种方式是通过无线连接:

我这里是手机开热点给电脑连。
首先找到手机的 IP,小米10 可以通过下列路径找到 IP,
“我的设备” 》 “全部参数与信息” 》“状态信息” 》“IP 地址”。
在这里插入图片描述

然后在 windows 命令行窗口输入

./adb tcpip 5555

./adb connect 10.138.xxx.xxx 5555

./scrcpy.exe

到此,即可连上手机。

如果又用 usb 接口连过,又用 IP 连过,那么下次再连接的时候会报错
在这里插入图片描述

这个报错意味着在使用scrcpy时,检测到多个ADB设备连接。在你的情况下,有两个设备已经连接:
通过USB连接的设备,序列号为96a7xxxx,设备名为Mi_10。
通过TCP/IP连接的设备,IP地址为10.138.xxx.xxx,端口为5555,设备名为Mi_10。
由于存在多个设备连接,scrcpy需要你指定要使用的设备。你可以通过以下选项来选择要使用的设备:

使用 -s 或 --serial 选项,后接设备的序列号来选择USB连接的设备。
使用 -d 或 --select-usb 选项来选择USB连接的设备。
使用 -e 或 --select-tcpip 选项来选择TCP/IP连接的设备。
你可以根据需要选择要连接的设备,并在命令中指定相应的选项来解决这个问题。

当面对多个设备连接时,你可以通过以下示例命令来选择要使用的设备:

选择USB连接的设备

# 第一次要先声明使用 usb 连接:
 .\adb.exe usb
# restarting in USB mode

# 然后执行后面的命令
scrcpy -s 96a7xxxx
# 或者
scrcpy -d

选择TCP/IP连接的设备

# 第一次要先声明使用 tcpip 连接:
.\adb.exe tcpip 5555
# restarting in TCP mode port: 5555
.\adb.exe connect 10.138.241.249:5555
# connected to 10.138.241.249:5555

# 然后执行后面的命令
scrcpy -s 10.138.xxx.xxx:5555
# 或者
scrcpy -e

查看设备数

.\adb.exe devices
# List of devices attached
# 96a7xxxx        device

删除 TCP/IP连接的设备

 .\adb.exe disconnect 10.138.241.249:5555
#disconnected 10.138.241.249:5555

另外:如果鼠标滑动手机报如下错的话,

# 参考 github 链接: https://github.com/Genymobile/scrcpy/issues/4334
# https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#mouse-and-keyboard-do-not-work
[server] ERROR: Could not invoke method
java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.genymobile.scrcpy.wrappers.InputManager.injectInputEvent(InputManager.java:37)
        at com.genymobile.scrcpy.Device.injectEvent(Device.java:225)
        at com.genymobile.scrcpy.Device.injectKeyEvent(Device.java:236)
        at com.genymobile.scrcpy.Device.pressReleaseKeycode(Device.java:244)
        at com.genymobile.scrcpy.Device.pressReleaseKeycode(Device.java:249)
        at com.genymobile.scrcpy.Controller.control(Controller.java:70)
        at com.genymobile.scrcpy.Controller.lambda$start$0$com-genymobile-scrcpy-Controller(Controller.java:91)
        at com.genymobile.scrcpy.Controller$$ExternalSyntheticLambda1.run(Unknown Source:4)
        at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.
        at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
        at android.os.Parcel.createException(Parcel.java:2995)
        at android.os.Parcel.readException(Parcel.java:2978)
        at android.os.Parcel.readException(Parcel.java:2920)
        at android.hardware.input.IInputManager$Stub$Proxy.injectInputEventToTarget(IInputManager.java:1294)
        at android.hardware.input.InputManager.injectInputEvent(InputManager.java:1153)
        at android.hardware.input.InputManager.injectInputEvent(InputManager.java:1182)
        ... 10 more
Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.input.InputManagerService.injectInputEventToTarget(InputManagerService.java:908)
        at android.hardware.input.IInputManager$Stub.onTransact(IInputManager.java:617)
        at android.os.Binder.execTransactInternal(Binder.java:1285)
        at android.os.Binder.execTransact(Binder.java:1249)

可以参考下面的方案解决:
在这里插入图片描述

打开USB调试按钮,重启手机即可。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1538946.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac 安装 nvm 【真解决问题】

前提 没有node环境已有git 下载 我用的gitee极速下载 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags配置 1. 配置变量 在用户的目录下新增文件 .zshrc export NVM_DIR"$HOME/…

java网络原理(二)------TCP确认应答和超时重传

一Tcp协议 TCP,即Transmission Control Protocol,传输控制协议。人如其名,要对数据的传输进行一个详细的控制。 二.TCP协议段格式 知道了端口号才能进一步确认这个数据报交给了哪一个程序。16为端口号是2字节,范围是0到65535.如…

CMake笔记之将任意官方库作为third_party完整地包含在工程项目中使用的通用模板

CMake笔记之将任意官方库作为third_party完整地包含在工程项目中使用的通用模板 —— 杭州 2024-03-20 凌晨1:06 code review! 文章目录 CMake笔记之将任意官方库作为third_party完整地包含在工程项目中使用的通用模板1.通用CMakeLists.txt模板2.GPT4给出的改进建议3.git clon…

【爬虫】实战-爬取Boss直聘信息数据

专栏文章索引:爬虫 所用工具: 自动化工具:DrissionPage 目录 一、找到目标数据(2个确定)​ 1.确定目标网页 2.确定目标网址 二、编写代码​ 三、查看数据​ 五、总结 一、找到目标数据(2个确定) 1.确定目标网页 打开目标网站 网站&am…

夜神-安卓9模拟器安装 面具(Magisk)

方法1-自带本地安装 1.模拟器助手添加安卓9 的模拟器 2.启动模拟器并安装Magisk Terminal Emulator.apk、Magisk.apk 新开的安卓9 安装这两个apk 3.打开Magisk Terminal Emulator 1、允许 2、输入m回车 3、输入y回车 4、超级用户授权允许1、 2和3 4 允许后跳到这个…

xAI开发的一款巨大型语言模型(HLM)--Grok 1

在xAI发布Grok的权重和架构之后,很明显大型语言模型(LLM)的时代已经过去,现在是巨大型语言模型(HLM)的时代。这个混合专家模型发布了3140亿个参数,并且在Apache 2.0许可下发布。这个模型没有针对…

Jenkins中支持maven构建遇到仓库报错问题

目的 Jenkins中支持maven构建(Jenkins使用docker安装) 问题 1.构建一个maven项目 2.执行报错 /var/lib/jenkins/local_maven_repo/com/sx/root/1.0.4/root-1.0.4.pom.part.lock (No such file or directory) Failed to transfer Could not transfer artifact co…

【Spring整合QQ个人邮箱】

整合腾讯邮箱&#xff0c;首先需要在腾讯邮箱上开启服务&#xff0c;获取到授权码&#xff1b; 获取步骤如下&#xff1a; 进入设置 进入账号页 开启协议获取授权码 JavaMailSender配置 引入依赖 <!--邮件发送依赖--> <dependency><groupId>org.spring…

EI Scopus双检索| 2024年智能交通与未来出行国际会议(CSTFM 2024)

会议简介 Brief Introduction 2024年智能交通与未来出行国际会议(CSTFM 2024) 会议时间&#xff1a;2024年10月18日-20日 召开地点&#xff1a;中国杭州 大会官网&#xff1a;CSTFM 2024-2024 International Conference on Smart Transportation and Future Mobility(CSTFM 202…

学习笔记Day13:Linux进阶

Linux进阶 Vim——Linux自带的文本编辑器 功能强大 命令模式 使用 vim <file>进入后的默认模式可以上下左右移动光标 方向键/hjkl快速到所在行的开头^/末尾$向下移动30行30j&#xff08;上左右同&#xff09;上下翻页Ctrlf向上&#xff0c;Ctrlb向下翻页快速回到文件第…

网络原理(5)——IP协议(网络层)

目录 一、IP协议报头介绍 1、4位版本 2、4位首部长度 3、8位服务器类型 4、16位总长度 5、16位标识位 6、3位标志位 7、13位偏移量 8、8位生存空间 9、8位协议 10、16位首部检验和 11、32位源IP地址 12、32位目的IP地址 二、IP协议如何管理地址&#xff1f; 1、动…

【STM32嵌入式系统设计与开发】——6矩阵按键应用(4x4)

这里写目录标题 一、任务描述二、任务实施1、SingleKey工程文件夹创建2、函数编辑&#xff08;1&#xff09;主函数编辑&#xff08;2&#xff09;LED IO初始化函数(LED_Init())&#xff08;3&#xff09;开发板矩阵键盘IO初始化&#xff08;ExpKeyBordInit()&#xff09;&…

HCIA-Datacom H12-811 更新

完整题库及答案解析&#xff0c;请直接扫描上方二维码&#xff0c;持续更新中 在WLAN发展历史中&#xff0c;初级移动办公时代的主要无线协议标准不包括以下哪项&#xff1f; A. 802.11ac B. 802.11g C. 802.11b D. 802.11a 答案&#xff1a;A OSPF协议在进行主从关系选举…

Apipost智能Mock功能详解

在接口开发过程中&#xff0c;Mock功能可以帮助开发者快速测试和验证接口的正确性和稳定性&#xff0c;以便快速迭代和修复问题。Apipost推出智能Mock功能&#xff0c;可以在智能期望中填写一些触发条件&#xff0c;开启后&#xff0c;Apipost会根据已设置的触发条件&#xff0…

Qt教程 — 3.6 深入了解Qt 控件:Display Widgets部件(2)

目录 1 Display Widgets简介 2 如何使用Display Widgets部件 2.1 QTextBrowser组件-简单的文本浏览器 ​2.2 QGraphicsView组件-简单的图像浏览器 Display Widgets将分为两篇文章介绍 文章1&#xff08;Qt教程 — 3.5 深入了解Qt 控件&#xff1a;Display Widgets部件-CSDN…

MyBatis是纸老虎吗?(五)

最近看到这样一则消息《全球首位AI工程师诞生&#xff0c;“码农”未来会消失&#xff1f;》&#xff0c;文章提到百度董事长兼首席执行官李彦宏认为未来将不会存在“程序员”这种职业。行业大佬的这种说法&#xff0c;让我异常恐慌。难道程序员就这样被淘汰了&#xff1f;AI真…

YOLOv8 | 注意力机制 | ShuffleAttention注意力机制 提升检测精度

YOLOv8成功添加ShuffleAttention ⭐欢迎大家订阅我的专栏一起学习⭐ &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; YOLOv5涨点专栏&#xff1a;http://t.csdnimg.cn/1Aqzu YOLOv8涨点专栏…

力扣236 二叉树的最近公共祖先 Java版本

文章目录 题目描述代码 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&…

PDF文件如何以数字进行批量重命名?以数字重命名的PDF文件

在日常生活和工作中&#xff0c;我们经常需要处理大量的PDF文件&#xff0c;如文档、报告、合同等。为了更高效地管理这些文件&#xff0c;一个有效的方式就是对它们进行批量命名。批量命名不仅能提高文件的组织性&#xff0c;还能节省大量时间。下面&#xff0c;我们将详细介绍…

【数据分析案列】--- 北京某平台二手房可视化数据分析

一、引言 本案列基于北京某平台的二手房数据&#xff0c;通过数据可视化的方式对二手房市场进行分析。通过对获取的数据进行清冼&#xff08;至关重要&#xff09;&#xff0c;对房屋价格、面积、有无电梯等因素的可视化展示&#xff0c;我们可以深入了解北京二手房市场的特点…