我正在尝试构建一个自动化测试框架,用于检查应用程序应该响应的基本内容,而不会崩溃。其中之一是检查应用程序是否正确响应配置更改。现在,由于它是自动化的,我必须在横向和纵向之间切换模拟器的方向,并观察它是否崩溃,编程。 [封面有很多与ctrl + F12或num pad 7有关的问题]
我试图找出一个adb或模拟器控制台命令来完成这项工作。
我对localhost:5554进行了telnet并输入了以下命令:
$ sensor status //给出所有传感器的启用/禁用状态
acceleration: enabled.
magnetic-field: enabled.
orientation: enabled.
temperature: enabled.
proximity: enabled.
OK
$ sensor get orientation
orientation = 0:0:0
$ sensor set orientation 90:0:0
OK
我尝试了不同的组合,但没有回应。为了获得在横向模式下设置的值,我使用ctrl + F12手动更改了方向并尝试再次获取方向传感器状态,令我沮丧的是,值没有改变。
A certain blog also mentioned this particular command in ADB
$ service call window 18 i32 1
$ service call window 18 i32 0
用于切换方向。但是,我收到此错误消息
结果:包裹(fffffffc ffffffff'........')
如果能得到解决方案,那就太好了。
答案 0 :(得分:2)
最后,我找到了一种方法。
首先,我会尝试澄清一下这个问题:
通常人们谈论'旋转'AVD屏幕实际上意味着将皮肤布局更改为纵向/横向(平板电脑的模拟旋转)。这可以通过按数字键盘上的“7/9”键或按ctrl + Fn + F12来完成。在这种情况下,显示器的方向不会改变,有时显示器会从左到右或从右到左烦恼,而不是自然的从上到下。这可以通过取消选中android设置中的自动旋转来解决。
然而,在某些情况下,我们希望看到重力传感器的效果。我认为这实际上与OP的问题有关。与GPS不同,Eclipse没有GUI工具可以做到这一点。 OP非常接近解决问题。但是,方向传感器不正确,我们需要使用重力/加速度传感器自动旋转屏幕。 尝试以下命令并通过自动旋转观察显示方向:
sensor set acceleration 9.77622:0:0
sensor set acceleration 0:9.77622:0
sensor set acceleration 0:0:9.77622