如何在Android模拟器中模拟加速度计?

时间:2010-10-13 07:09:38

标签: android accelerometer avd

我现在没有Android手机。但在我的应用程序中,我需要使用加速度计值。如何在模拟环境中执行此操作?

5 个答案:

答案 0 :(得分:38)

Android模拟器本身并不支持它,但OpenIntents'SensorSimulator填补了空白。下载并解压缩zip文件,然后启动独立的jar文件:

$ java -jar bin/sensorsimulator.jar

接下来,使用SDK附带的adb工具在模拟器上安装SensorSimulatorSettings:

$ adb -s <emulator device> install bin/SensorSimulatorSettings.apk

(运行 adb devices 以查找模拟器设备名称)。最后,在模拟器中运行已安装的SensorSimulatorSettings应用程序,并输入IP地址 10.0.2.2 (尽管SensorSimulator应用程序可能会建议。这是开发主机的环回设备的别名,所以应该始终是有效的。

答案 1 :(得分:17)

最新版本的仿真器启用了Accelerometer和其他传感器仿真支持。可以telnet localhost 5554

  

尝试127.0.0.1 ...
  连接到localhost。
  逃脱角色是'^]'   Android控制台:输入“帮助”以获取命令列表
  好的

     

传感器
  允许您请求模拟器传感器

     

可用的子命令:
     状态列出所有传感器及其状态      得到传感器值
     设置传感器值

     

KO:缺少子命令

     

传感器状态
  加速:启用。
  磁场:启用。
  方向:启用。
  温度:启用。
  接近度:已启用   行

如何模拟摇晃,我不知道。尝试一个接一个地快速发送这两个命令:

sensor set acceleration 0:0:0
sensor set acceleration 99:99:99

答案 2 :(得分:6)

我也试图让SensorSimulator工作,我想我终于开始工作了。

以上步骤: “... java -jar bin / sensorsimulator.jar

接下来,使用SDK附带的adb工具在模拟器上安装SensorSimulatorSettings: $ adb -s install bin / SensorSimulatorSettings.apk

...最后,在模拟器中运行已安装的SensorSimulatorSettings应用程序并输入IP地址10.0.2.2 ......“

是一个好的开始,但我需要做更多。

您显然需要修改应用程序才能使用SensorSimulator。您可以转到http://code.google.com/p/openintents/wiki/SensorSimulator并向下滚动到“如何在应用程序中使用SensorSimulator”部分。

即便如此,我在编译时遇到了一些错误,因此您可能希望看到此页面:Vintage Thermometer component + SensorSimulator on the Android emulator - 我必须删除对android.hardware.Sensor,SensorEvent和SensorEventListener的引用。

然后它在调用connectSimulator时失败了。显然,我需要授予我的应用程序在清单文件中使用Internet的权限。

毕竟,我可以使用SensorSimulator虚拟旋转手机,我的应用程序中确实获得了相应的传感器读数。

答案 3 :(得分:1)

我经历过目标10的模拟器不支持加速度计,但对于目标15则不支持加速度计。我不知道是否有办法为目标10做到这一点。 因此,为了测试您的应用程序,请为目标15创建项目和AVD。

答案 4 :(得分:0)

我建议您使用Genymotion应用程序,它集成了一个完整的加速度计测试工具,并使用更快的模拟器:Genymotion