2012-06-25 66 views
2

我正在尝试构建一个自动化测试框架,用于检查应用程序应该响应的基本事件,而不会崩溃。其中之一是检查应用程序是否正确响应配置更改。现在,由于它是自动化的,我必须在风景和肖像之间切换仿真器的方向,并观察它是否崩溃,PROGRAMMATICALLY。 [上限cuz有很多问题都与ctrl + F12或num pad 7有关]Android仿真器方向通过仿真器控制台或ADB更改

我想弄清楚一个adb或模拟器控制台命令来完成此操作。

我做了一个telnet到localhost:5554,并输入了以下命令:

$传感器状态//给所有传感器的启用/禁用状态

acceleration: enabled. 
magnetic-field: enabled. 
orientation: enabled. 
temperature: enabled. 
proximity: enabled. 
OK 

$传感器取向

orientation = 0:0:0 

$传感器设置方向90:0:0

OK 

我想这个不同的组合,并没有作出回应。要获得在横向模式下设置的值,我使用Ctrl + F12手动更改方向,并尝试重新获取方向传感器状态,令我沮丧的是,值没有改变。

A certain blog also mentioned this particular command in ADB

$服务呼叫窗口18 I32 1

$服务呼叫窗口18 I32 0

用于切换取向。但是,我得到这个错误信息

结果:地块(FFFFFFFC FFFFFFFF“........”)

这将是巨大的,如果我能得到一个解决的办法。

+0

我也遇到了同样的问题,这方面有任何更新? – Wang

回答

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 
+0

谢谢!这工作。 –

+0

嗨,我试过了。但是我没有发现任何类似sensor的命令。唯一的命令是sensorservice.Mobile ph我使用的是samsung s3,s2和htc –

+0

相同@kundan – Ewoks