Mag*_*s W 5 macos android-emulator macos-monterey
我在 macOS Monterey 上使用 Android 模拟器时遇到了一个非常奇怪且令人沮丧的问题。
我在 Macbook Pro(2015 年中 15 英寸)上启用了“点击点击”功能,并且在所有其他应用程序中都运行良好。但不知何故,当模拟器窗口处于活动状态时,它似乎错过了几乎所有其他点击。如果我用力点击它不是点击,而是捕获每次点击。触控板设置中的点击灵敏度设置为“轻”。
因此,模拟器窗口似乎对点击的敏感度低于所有其他应用程序。我什至不知道这是怎么可能的,是否有应用程序特定的点击灵敏度之类的东西?
更重要的是,不仅模拟器窗口本身存在此问题,模拟器设置窗口也存在此问题。如果我点击“启用剪贴板共享”开关,它会错过大约 50% 的点击。如果我用力点击,就会 100% 捕获它们。如果我在其他应用程序中尝试相同的操作(使用“系统偏好设置”窗口进行测试),它会捕获 100% 的点击。
我已经测试了一遍又一遍,以确保我不会对结果产生偏见,但确实存在差异,这让我发疯。我认为它是在更新到蒙特利后出现的,但不能 100% 确定确切的时间相关性。
有任何想法吗??
我是 Android 模拟器的新手,但在 Ubuntu 中遇到了同样的问题,即使我在操作系统中禁用了点击点击功能。我讨厌点击式操作,因此在我的笔记本电脑上模拟超灵敏触摸 Android 屏幕简直令人沮丧。
查看文档,我发现了该SOURCE_CLASS_POINTER方法,其中指出:
输入源是与显示器关联的定点设备。示例:SOURCE_TOUCHSCREEN、SOURCE_MOUSE。MotionEvent 应根据视图层次结构解释为显示单元中的绝对坐标。当手指触摸显示屏或按下/释放选择按钮时,指针向下/向上指示。使用 getMotionRange(int) 查询指点设备的范围。某些设备允许在显示区域之外进行触摸,因此有效范围可能比实际显示尺寸稍小或稍大。
在阅读本文时,我开始相信这实际上可能是默认行为,因为触摸板事件是通过方法解释的SOURCE_TOUCHSCREEN,而不是SOURCE_TOUCHPAD或SOURCE_MOUSE。
不幸的是,我没有解决方案,只有解决方法:
我插入鼠标并测试了指针在屏幕上的向上/向下移动,文档的这一部分建议应将其注册为按下。但是,对于鼠标,它仅响应点击。所以它向我表明它确实被正确地解释为SOURCE_MOUSE受控指针而不是SOURCE_TOUCHSCREEN受控指针。
因此,除非我们能够找到如何让 AVD 正确地将触摸板解释为触摸板,而不是触摸屏,否则使用鼠标似乎是最好的解决方案。
作为参考,我将此链接包含在 AVD 手册中: https: //developer.android.com/studio/run/emulator
更新:不知何故,在大约 18 小时和多次重新启动后,我的 AVD 不再在其虚拟屏幕上进行点击操作。很难准确地指出发生了什么变化,因为自从我运行 Ubuntu 的 pre-alpha 版本以来,我一直在频繁更新软件包,但我认为这是因为使用 X11 而不是 Wayland。
这让我想到,您可以尝试将显示服务器从 Cocoa 更改为 X11。值得庆幸的是,MacPorts(FreeBSD Ports Tree 的 MacOS 版本)使交叉编译软件变得相当容易。它包含多平台类 UNIX 软件的构建配方,很像 HomeBrew,但通常允许更多定制。
这个水龙头问题已经够烦人的了,可能值得一试。
(来自 macports 网站)X11 窗口环境,适用于依赖其提供的功能来运行的端口。您对 X11 服务器有多种选择: https: //www.macports.org/install.php
我会按以下顺序构建它们:
MacPorts:X11 - 如果你构建它,你将已经拥有一堆库
MacPorts:QEMU - 使用make configure菜单选择GTK3+,如果没有 X11 的选项,请make在安装 X11 后尝试使用此构建标志(将其指向 X11 的 lib 目录):
make -L/opt/X11/lib -lX11
相关 StackOverflow 问答:
在 Mac OS X 中编译使用 OpenGL 的 C 程序
| 归档时间: |
|
| 查看次数: |
2127 次 |
| 最近记录: |