【问题标题】:Android, how to emulate swipe gestures in AVD?Android,如何在 AVD 中模拟滑动手势?
【发布时间】:2011-08-03 21:37:27
【问题描述】:

如何在 AVD 上模拟滑动手势(例如左右滑动)? 有可能吗? (在Android Developer's Guide - Emulator 我找不到他们...

P.S.:我的 Android 2.2 API 级别 8 设备设置中确实将“触摸屏支持”设置为“是”

【问题讨论】:

  • 用鼠标指针点击并按住不起作用?
  • 这对我有用 - 单击并按住 - 向左/向右拖动 - 放开。
  • 它真的不适合我...我正在使用 ViewFlipper 水平布局(在真实设备上,左/右滑动确实有效...)
  • 不知道我的问题是否与 MarcoS 的问题有关,但我在模拟器的“所有应用程序”屏幕上的滑动手势有问题。我可以拖动屏幕,这样它就消失了大约 70%,并且带有几个应用程序的第二个屏幕进入了视野(变得不那么透明),但是当我松开鼠标按钮时,第一个屏幕会弹回原位。一次又一次。我终于确定我通常可以通过以下方式使其工作: 1. 当屏幕停止移动时停止移动鼠标,以及 2. 按住鼠标按钮大约五秒钟然后释放它。

标签: android android-emulator swipe-gesture


【解决方案1】:

一种更简单的方法是录制和播放。

而不是处理getevent 的命令输出,然后将结果发送到sendevent,这真的很慢。我设法从与我的 AVD 相同 Android 版本的真实设备上盲目地记录手势,然后将记录的数据流式传输到输入缓冲区,这成功地欺骗了设备。

您可以通过以下方式复制真实设备的触摸输入:

  1. 使用dd 命令,在adb shell 中运行dd if=/dev/input/event2 of=/sdcard/left。这会将所有触摸输入数据缓冲到/sdcard/left 文件中。

  2. 做你喜欢模拟的手势(滑动)。

  3. 现在(/sdcad/left) 由您实际触摸生成的数据填充。您可以退出dd 命令(ctrl + c)。

  4. 将文件从您的真实设备移动到您的 AVD 中的任何位置,比如(/sdcad/left)

  5. 在 AVD adb shell 中,运行 dd if=/sdcard/left of=/dev/input/event2

维奥拉!模拟的触摸事件将会发生。

注意:在我的设备中,具有触摸事件的文件是 /dev/input/event2 ,它可能因设备而异,因此您可以先使用试错法。


简而言之,如果您在同一设备上录制和播放:

  1. dd if=/dev/input/event2 of=/sdcard/left

  2. 真正的触摸

  3. dd if=/sdcard/left of=/dev/input/event2

  4. 根据需要重复第 3 步。

【讨论】:

  • 我不知道这会对我有帮助吗???....但这给了我一些想法...谢谢 omer...+1 给你....
【解决方案2】:

只需单击并按住并移动鼠标即可创建所需的动作。

【讨论】:

  • 它对我不起作用... :-( 你真的检查过它对你有用吗?
  • 是的,我在模拟器上的任何用户输入都没有遇到任何问题。
  • 抱歉,我的软件有问题,拖动鼠标效果很好... :-(((
【解决方案3】:

你可以记录输入事件并在模拟器上回放,通过使用adb shell getevent和adb shel sendevent,有点难以理解,需要将getevent输出的十六进制值转换为十进制,但非常有用。

【讨论】:

    【解决方案4】:

    tl;dr:我想您可能会觉得它不起作用,因为问题在于将用户输入处理在线化真的很慢。如果你搞砸了 10 分钟,但它仍然不起作用,那就有问题了 - 但先给它 10 分钟。

    这是我的经验,因此您可以了解我是如何得出这个结论的:

    我从未明确将设备添加到 AVD 管理器 - Studio 为我添加了它。

    当我运行我的 (Hello World) 应用程序时,花了很长时间才出现 - 首先似乎什么都没有发生,所以我点击了 Studio 窗口底部的“Android”,发现它正在记录它的内容正在做。

    仍有许多延误。大约一分钟后,模拟器弹出并显示有关丢失备份或类似内容的消息。再过一分钟左右,我看到它说“正在充电”,所以我点击并拖动,但没有任何反应。我又尝试了几次,最后它通过将“充电”更改为“滑动解锁”来响应(我认为 - 类似的东西)。所以我又尝试了几次点击拖动,但它似乎没有注册拖动。最后,当我将鼠标悬停在它上面时,我注意到相机(软件)按钮亮起,所以我点击它,然后我进入相机(不确定是通过拖动还是点击白色圆圈中的小

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 2016-12-21
      • 2023-03-20
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多