zoukankan      html  css  js  c++  java
  • 树莓派4上安装运行scrcpy

    0. 官方

    https://github.com/Genymobile/scrcpy

    1. snap安装

    需要提前安装好adb。
    scrcpy目前树莓派上没有正式版,安装beta版

    snap install --beta scrcpy
    

    beta:当前master分支最新编译
    edge: 当前dev分支最新编译

    2. 踩坑

    • libarmmem.so 错误
    ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
    

    stackoverflow给出了解决方案,直接注释掉/etc/ld.so.preload对这个库的加载。dirty and quick。
    https://stackoverflow.com/questions/42443273/raspberry-pi-libarmmem-so-cannot-open-shared-object-file-error

    • listen错误
    WARN: Could not listen on port 27195, retrying on 27196
    listen: Operation not permitted
    

    不需要管,之后会尝试adb forward,就可以链接了。

    • encoder错误
    [server] ERROR: Exception on thread Thread[main,5,main]
    java.lang.IllegalStateException
    	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
    	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2637)
    	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:113)
    	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:94)
    	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:60)
    	at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
    	at com.genymobile.scrcpy.Server.main(Server.java:252)
    	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:285)
    WARN: Device disconnected
    

    编码器出了问题,官方项目README里提到了这种情况,可以更换编码器试试。

    查看支持的编码器

    $ scrcpy --encoder _
    [server] ERROR: Try to use one of the available encoders:
    [server] ERROR:     scrcpy --encoder-name 'OMX.MTK.VIDEO.ENCODER.AVC'
    [server] ERROR:     scrcpy --encoder-name 'OMX.google.h264.encoder'
    

    默认用的是mtk的编码器,换成google的h264试试。

    $ scrcpy --encoder OMX.google.h264.encoder
    

    最终能在树莓派图形界面里打开对应安卓的窗口,控制也没有问题。
    配合VNC可以在远程调试树莓派和安卓。

  • 相关阅读:
    ExpandableListView实现子Item的点击事件
    使用AndroidStudio自动生成JavaDoc文档
    将Asset中的数据库文件拷贝出来使用
    拦截webview调用系统浏览器打开链接
    配置国内 Docker Registry Mirror
    解决mysql 主从数据库同步不一致的方法
    讯时网关路由规则小结
    Docker 导出 & 导入
    Centos 7 安装Docker-ce记录
    Go Rand小结
  • 原文地址:https://www.cnblogs.com/helica/p/14312269.html
Copyright © 2011-2022 走看看