45

我现在没有安卓手机。但在我的应用程序中,我需要使用加速度计值。如何在模拟环境中做到这一点?

4

5 回答 5

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 应用程序可能会建议。这是开发主机环回设备的别名,因此应该始终有效。

于 2010-10-13T18:20:06.313 回答
19

最新版本的模拟器启用了加速度计和其他传感器模拟支持。一个可以telnet localhost 5554

尝试 127.0.0.1...
连接到本地主机。
转义字符是 '^]'。
Android 控制台:键入“帮助”以获取命令列表
OK

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

可用的子命令:
status 列出所有传感器及其状态。
获取获取传感器值
设置设置传感器值

KO:缺少子命令

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

我不知道如何准确地模拟震动。尝试一个接一个地快速发送这两个命令:

sensor set acceleration 0:0:0
sensor set acceleration 99:99:99
于 2013-12-03T21:13:19.577 回答
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 虚拟旋转我的手机,并在我的应用程序中获得相应的传感器读数。

于 2012-06-08T18:19:59.970 回答
1

我体验过目标 10 的模拟器不支持加速度计,但目标 15 支持。我不知道是否有针对目标 10 的方法。因此,为了测试您的应用程序,请为目标 15 创建项目和 AVD。

于 2012-05-16T06:12:24.200 回答
0

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

于 2015-10-02T12:22:22.133 回答