scrcpy链接手机后只能显示无法触控/scrcpy启动脚本/adb传输文件打包

scrcpy链接手机只能显示无法触控

更新

adb开启操作权限的这个对我自己失效了,因为没有更多的设备测试不知道是设备原因还是什么,再次使用会显示无权限,统一使用打开安全设置那个吧,打开后记得重启。如果打开安全设置那个重启还是无效可以尝试一下adb开启这个。

才刚发现scrcpy这个神级软件

使用matepadpro链接没有任何问题,也不需要进行额外的设置,系统是鸿蒙4
然后想链接手机(Mi 10s)时发现只能显示画面,无法进行触控操作
在网上搜索后发现有俩解决方式

开启操作权限

在github的问题中找到的,原因是因为手机安全设置屏蔽掉了usb传入的触控,
使用adb执行:

adb shell pm grant (pkgname) android.permission.WRITE_SECURE_SETTINGS

打开安全设置

这是看到别人帖子中的操作,在github中也有不少是利用这个弄成功的,更新:弄完后需要重启,这个也对我生效
在这里插入图片描述
将红框中的两开关打开即刻

总结

我先使用了打开安全设置,但是对我不起效,然后找到了adb命令,直接生效,然后为了确定是adb命令直接生效的,把安全设置的开关重新关上,依然可以触控,证明adb可以独立生效。

scrcpy启动脚本/adb传输文件打包

市面上有很多的scrcpy的GUI软件,但都在小50M,我一看scrcpy的本体都才15M在这里插入图片描述
GUI是为了简化启动步骤,为了方便设置,编写了一个python脚本来直接启动scrcpy的主程序,并且对应着少许能用到的功能参数,将其打包成了exe,大小在6.8M,并且将adb的传输文件在这里进行了包装,弥补了无法scrcpy无法传输文件的遗憾,然后自己需要其他的一些adb命令也可以往里面添加。这里附上py全代码和打包的exe文件,模式只有这几个,需要其他的可以稍作改动即刻使用。
在这里插入图片描述

python脚本

import os
from datetime import datetime
import subprocess
x = input("选择模式:\n1、普通\n2、普通息屏\n3、录屏\n4、录屏息屏\n")

def sendcommod(cmd):
    subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

def getfile():
    while(True):
        filename = input("拖入你传输的文件:")
        segments = filename.split('\\')
        desired_content = segments[-1]
        cod =  r".\adb.exe push "+ filename +" /sdcard/Download/scrcpy/"+desired_content
        os.system(cod)
def get1():
    print("您已进行普通模式")
    commond = "scrcpy"
    sendcommod(commond)
    getfile()
def get2():
    print("您已进行普通息屏模式")
    commond = "scrcpy -S"
    sendcommod(commond)
    getfile()

def get3():
    print("您已进行录屏模式")
    # 获取当前日期和时间
    current_time = datetime.now().strftime("%Y年%m月%d日%H.%M.%S")
    commond = "scrcpy -r file/"+ current_time +".mp4"
    sendcommod(commond)
    getfile()
def get4():
    print("您已进行录屏息屏模式")
    # 获取当前日期和时间
    current_time = datetime.now().strftime("%Y年%m月%d日%H.%M.%S")
    commond = "scrcpy -S -r file/"+ current_time +".mp4"
    sendcommod(commond)
    getfile()
    
if(x=="" or x=="2"):
    get2()
elif(x=="1"):
    get1()
elif(x=="3"):
    get3()
elif(x=="4"):
    get4()

说明:
将脚本或者是程序扔在scrcpy的主程序目录即刻
当启动传输文件时,将文件拖动到窗口,然后回车即可,使用文件传输需要在你手机端的download目录下新建一个scrcpy文件夹,然后传输的文件不能包含空格,因为使用adb命令传输,空格会让他以为这是另外的参数。如果使用py代码进行修改,可以更改文件传输那里adb命令的对应的位置。
使用录屏需要在当前的scrcpy主程序目录下新建一个file文件夹,视频会存在其中

脚本只是简单的一键启动,友善交流

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值