zwy5001 2023-02-15 01:39 采纳率: 50%
浏览 114
已结题

Android 13 在录屏时 adb shell input的表现为何不同

在未录屏的情况下,假设我手指已经放在屏幕上了,那么使用adb shell input x y之后,手指那个触点便会直接断触。
奇怪的是,如果在录屏的情况下,使用adb shell input
那么手指那个触点会莫名其妙的往左下角移动,再断触,到底是什么原因造成的呢。
同时我的应用程序需要未录屏情况下那种现象,该如何使录屏时候也能和未录屏时一样呢?

  • 写回答

11条回答 默认 最新

  • GISer Liu 2023-02-15 04:09
    关注

    以下答案引用自GPT-3大模型,请合理使用:

    1.Android 13中使用adb shell input时,未录屏和录屏的表现不同,是因为录屏会有一些操作限制,比如说mpv的录屏可能就有这样的限制,影响输入的操作。

    2.解决这个问题的一种方式是使用 adb shell monkey 命令来模拟输入。monkey命令可以通过模拟用户输入来模拟手势操作,比如滑动,点击等,而不会受到录屏的限制,如下所示:

    adb shell monkey -p yourApplicationPackageName --ignore-crashes --ignore-timeouts --monitor-native-crashes --pct-touch 80 -v 500
    

    第一个参数是应用的包名,用来指定要测试的应用,此外还可以为应用添加一些可选参数,比如 --ignore-crashes 和 --ignore-timeouts 用来忽略应用崩溃和超时异常,--monitor-native-crashes为了监控应用的原生崩溃,--pct-touch 80为应用设置80%的触控概率,最后-v 500是一个随机数,用来控制模拟测试的执行时间,如果只需要执行一次,可以将其设置为1。

    3.除了monkey命令,也可以通过使用adb shell input tap x y/touchscreen swipe x y x y这些指令来模拟输入。但是这些指令必须在应用的前台运行,否则会失败。

    如果我的回答解决了您的问题,请采纳我的回答

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 创建了问题 2月15日