kvarenzn / phisap

[deprecated] [for android] Semi-automatic player for the rhythm game "Phigros"
169 stars 36 forks source link

在Xiaomi 12S Pro (HyperOS, A14)上无法工作 #125

Open hydrati opened 4 months ago

hydrati commented 4 months ago

声明 确保你在提问前做到了下面两项,每当完成了一项,请在对应的中括号[]内敲入一个x,即[x]

描述问题 phisap在Xiaomi 12S Pro (HyperOS, A14)上谱面自动游玩无法工作。 设备无反应。

如何复现 在该设备上使用谱面自动游玩Cthugha IN难度。

预期行为 正常运行

截图

.\scrcpy-server-v2.0: 1 file pushed, 0 skipped. 109.2 MB/s (52867 bytes in 0.000s)
[server] INFO: Device: Xiaomi 2206122SC (Android 14)
[client] device_size = 1440x3200, codec_id = h264
left block unavailable for requested intra4x4 mode -1
error while decoding MB 0 113, bytestream 27400
[client] device_size: 1440x3200 -> 3200x1440
正在统计帧... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
统计完毕,当前谱面共计33322帧,最多需要4押
正在规划触控事件... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
规划完毕.
[server] ERROR: Exception on thread Thread[Thread-2,5,main]
java.lang.AssertionError: java.lang.reflect.InvocationTargetException
        at com.genymobile.scrcpy.wrappers.ServiceManager.getInputManager(ServiceManager.java:72)
        at com.genymobile.scrcpy.Device.injectEvent(Device.java:192)
        at com.genymobile.scrcpy.Device.injectEvent(Device.java:196)
        at com.genymobile.scrcpy.Controller.injectTouch(Controller.java:320)
        at com.genymobile.scrcpy.Controller.handleEvent(Controller.java:134)
        at com.genymobile.scrcpy.Controller.control(Controller.java:83)
        at com.genymobile.scrcpy.Controller.lambda$start$0$com-genymobile-scrcpy-Controller(Controller.java:90)
        at com.genymobile.scrcpy.Controller$$ExternalSyntheticLambda0.run(Unknown Source:2)
        at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.genymobile.scrcpy.wrappers.ServiceManager.getInputManager(ServiceManager.java:69)
        ... 8 more
Caused by: java.lang.NullPointerException
        at java.util.Objects.requireNonNull(Objects.java:207)
        at android.hardware.input.InputManager.getInstance(InputManager.java:271)
        ... 10 more
[server] ERROR: Encoding error: java.lang.IllegalStateException: releaseOutputBuffer() is valid only at Executing states; currently at Released state

[server] INFO: Retrying...
[server] ERROR: Encoding error: java.lang.IllegalStateException: releaseOutputBuffer() is valid only at Executing states; currently at Released state

[server] INFO: Retrying...

桌面端信息(请补充以下信息):

游戏设备信息(请补充以下信息):

附加信息 设备USB调试及其安全设置选项已启用。

364hao commented 4 months ago

这应该不是Phisap的问题 先尝试下单独的scrcpy能否在本机上运行 能的 尝试下 #64 和 #52 不能 尝试下最新版的scrcpy看看能不能运行 能的就替换下原来的scrcpy-server 另外就是启用USB安全设置选项需要重启设备 这是我可以想到的解决办法

KaSock commented 4 months ago

这应该不是Phisap的问题 先尝试下单独的scrcpy能否在本机上运行 能的 尝试下 #64 和 #52 不能 尝试下最新版的scrcpy看看能不能运行 能的就替换下原来的scrcpy-server 另外就是启用USB安全设置选项需要重启设备 这是我可以想到的解决办法

最新版本的scrcpy可以正常控制安卓14的设备,但是脚本貌似只认2.0 image

KaSock commented 4 months ago

@hydrati 将control.py的32行改为 server_version = '2.3.1' 后,将目录中的scrcpy-server换成2.3.1版本即可正常控制a14的hyperos设备,小米14已通过测试 Screenshot_2024-02-28-11-00-57-929_flar2 devcheck 1

记得重命名scrcpy-server为scrcpy-server-v image