Back

android - scrcpy 屏幕投影, (口碑相当好,5万多star, 可惜在我的root设备上没成功)

发布时间: 2021-11-13 00:35:00

今天需要把android屏幕投到电脑上,我的系统是ubuntu18,所以搜了一下,看到了这个  scrcpy

不过安装后不好用,踩了一系列的坑(可能我的手机是root过的xiaomi吧)

安装:

sudo apt update

sudo snap install scrcpy

安装后,不好用.  运行命令:  scrcpy -V verbose

1. ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (failed to map segment from shared object): ignored.

可以根据 https://stackoverflow.com/questions/53825857/error-ld-so-object-libgtk3-nocsd-so-0-from-ld-preload-cannot-be-preloaded 来解决

把下面这个放到 .bashrc 文件中:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0

然后运行这个:

sudo apt install gtk3-nocsd

2. 到这一步完全搞不定....我太难了 几乎没有有用的资料.搜索不到.  官方README中提到了encoder, 不过我还是用不了.

不适用snap ,使用手动的安装方式, 还是遇到这个问题.

(运行 scrcpy 之后出现的)

 Exception on thread Thread[main,5,main]
 java.lang.IllegalArgumentException: Failed to initialize video/avc, error 0xfffffffe
  at android.media.MediaCodec.native_setup(Native Method)
  at android.media.MediaCodec.(MediaCodec.java:1864)
  at android.media.MediaCodec.createEncoderByType(MediaCodec.java:1827)
  at com.genymobile.scrcpy.ScreenEncoder.createCodec(ScreenEncoder.java:180)
  at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:78)
  at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:61)
  at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
  at com.genymobile.scrcpy.Server.main(Server.java:255)
  at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
  at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:380)

3. 手动安装(ubuntu下)

参考:https://github.com/Genymobile/scrcpy/blob/master/BUILD.md#simple

思来想去,估计是 安卓的root包有问题. 

我把问题记录在了 https://github.com/Genymobile/scrcpy/issues/2769

Back