[英]Android emulator multi-touch
根据Android文档 ,可以使用绑定设备上的配套应用在模拟器中测试多点触摸动作。 但是,文档简直是轻率的...我希望有人可以在此处填写空白。
文档还说“再次使用端口转发。这次的端口是1969”。 我该怎么办?
是否需要其他任何设置或技巧来使应用程序与仿真器对话,而文档没有讨论这些设置或技巧?
该文档有点过时了。 例如,现在转发的端口应该是1970,而只有这个。
如果您安装位于$SDK/tools/apps/SdkController/
的SDK Controller应用程序,则可以在该应用程序中看到正确的说明。
要启用多点触控支持,您需要在emulator
的参数中添加-screen multi-touch
。
仅1970年需要被转发。 在计算机上运行adb forward tcp:1970 localabstract:android.sdk.controller
。
是! 如果您使用64位仿真器运行图像,则会发现它不起作用:(似乎是由于对齐导致的仿真器错误。https://code.google.com/p/android/issues/细节?ID = 29735
要变通解决此问题,您可以使用32位仿真器,也可以自己修复。
正确添加以上您需要运行的帖子:
$ adb forward tcp:1970 localabstract:android.sdk.controller
(最新版本包括多点触摸和传感器仿真)
还建议可以使用以下方法修复32位错误:
在sdk-controller-socket.c源文件中。
可以通过以下任一方法在64位版本上解决该问题:
__attribute__((packed))
到SDKCtlMessage struct
,或者 memcpy(msg + 1, data, size);
与memcpy(&(msg->msg_type) + 1, data, size);
我还没有亲自尝试过,但是很想知道它是否可以工作,并且SDKController应用程序的全部工作都可以使我无法通过“等待连接”。 尽管在加载模拟器时它确实显示“ Emulator Connected”,但在此之后立即停止,即使我没有返回,也没有传感器或多点触摸通过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.