scrcpy无法使用的临时解决办法

2025-12-17 14:52:34

在升级内核到6.18后,scrcpy无法启动窗口。于是使用adb作为临时替代方案。

# 显示

scrcpy解决的第一件事是显示画面,而这可以通过screencap命令来完成:

adb -s localhost:5555 shell screencap -p | magick - sixel:-

这将画面传输到本地并转换为sixel格式在终端模拟器输出。

如果想要视频效果:

while true; do
    printf "\033[H"
    adb -s localhost:5555 exec-out screencap -p | magick - sixel:-
done

或是使用ffplay

while true; do
    adb -s localhost:5555 exec-out screencap -p
done | ffplay -

# 启动应用

要启动一个应用,可以使用am start,命令格式如下:

adb shell am start -n com.package.name/com.package.name.ActivityName

它接受两个参数,分别是包名和活动名,以/分隔。

可以使用以下命令以列出第三方应用包名:

adb -s localhost:5555 shell pm list packages -3

然后在以下命令输出结果中查找活动名:

adb -s localhost:5555 shell "dumpsys package com.bilibili.azurlane"

该活动名的Action属性应为:android.intent.action.MAIN

于是可以通过以下命令拉起应用:

adb -s localhost:5555 shell am start -n com.bilibili.azurlane/com.manjuu.azurlane.MainActivity