在 Android 14 上使用 scrcpy 的投屏问题与解决方案

在 Android 14 上使用 scrcpy 的投屏问题与解决方案

随着 Android 系统版本的升级,部分底层 API 会发生变化,导致一些工具在新版本上出现兼容性问题。近期在 Firefly AIO-3588Q 板卡上测试时,就遇到了 scrcpy 在 Android 14 上投屏报错的情况。


问题表现

在使用 scrcpy 1.24 时,日志中出现以下错误:

  • 剪贴板接口报错

    复制代码
    java.lang.NoSuchMethodException: android.content.IClipboard$Stub$Proxy.addPrimaryClipChangedListener

    Android 14 已经移除了或修改了该方法,导致 scrcpy 无法调用。

  • 输入事件注入失败

    复制代码
    Caused by: java.lang.NullPointerException
    at android.hardware.input.InputManager.getInstance(InputManager.java:271)

    说明 scrcpy 的旧实现与 Android 14 的新接口不兼容。

结果是:投屏无法正常使用,触控和输入事件也无法注入。


解决办法

升级到 scrcpy 3.3.4 后,问题得到解决:

  • 设备能够被正确识别:

    复制代码
    INFO: Device: [Firefly] Firefly AIO-3588Q (Android 14)
  • 服务端推送成功,渲染器初始化完成:

    复制代码
    INFO: Renderer: direct3d
    INFO: Initial texture: 1920x1080
  • 投屏功能恢复正常,输入事件也能正常传递。


总结
  • 问题根源:scrcpy 1.24 不兼容 Android 14 的系统 API。
  • 解决方案:升级到 scrcpy 最新版本(≥3.3.4)。
  • 验证结果:在 Firefly AIO-3588Q 板卡上测试,scrcpy 3.3.4 已能正常投屏和交互。

一句话总结
在 Android 14 上,旧版 scrcpy 会因系统 API 变更导致投屏报错,升级到 scrcpy 3.3.4 即可解决问题。

相关推荐
Kapaseker19 小时前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴19 小时前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭1 天前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab1 天前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe1 天前
Now in Android 架构模式全面分析
android·android jetpack
二流小码农2 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少2 天前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
Kapaseker2 天前
一杯美式搞定 Kotlin 空安全
android·kotlin
三少爷的鞋2 天前
Android 协程时代,Handler 应该退休了吗?
android
火柴就是我2 天前
让我们实现一个更好看的内部阴影按钮
android·flutter