我现在没有Android手机。但在我的应用程序中,我需要使用加速度计值。如何在模拟环境中执行此操作?
答案 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