在使用device.spawn()
方法时会报这个错误,报错信息为:Failed to spawn: unexpectedly timed out while waiting for signal from process with PID
或frida.TimedOutError: unexpectedly timed out while waiting for signal from process with PID
。
2024-12-12更新
最近重新开始app端学习了,然后还是遇到了这个问题,重新翻看了一下github上相关问题的回答,我历史版本中确实列举出了一种可行的方案,但是近期不好用了,还提示getprop不是可执行命令。我看到很多回答把问题指向了magisk,我直接翻到设置,在“超级用户”
选项中,将“超级用户访问权限”
设置为“仅ADB”
,我grep了一下,没有发现“usap64”,同时执行device.spawn()
时,也恢复正常!完美解决!
2024-03-01发布
通过frida-ps -U
语句进行查询,可以看到这个pid
的名称为usap64(或usap32)
,在https://github.com/frida/frida/issues/2516 link中可以看到解决方案(但是不知道会对后续有何种影响)
解决方案如下
getprop|grep usap
如果 getprop xxx.usap 返回 true
setprop xxxx.usap false
然后 getprop xxxx.usap 将返回 false
按照你自己的方式使用spawn
之后重新连接frida-server
即可成功执行device.spawn()
方法。