У меня сейчас нет телефона Android. Но в моем приложении мне нужно использовать значения акселерометра. Как я могу сделать это в моделируемой среде?
Как смоделировать акселерометр в эмуляторе Android?
Ответ 1
Эмулятор Android не поддерживает его сам, но OpenIntents SensorSimulator заполняет пустоту. Загрузите и распакуйте zip файл, затем запустите автономный файл jar:
$ java -jar bin/sensorsimulator.jar
Затем установите эмулятор SensorSimulatorSettings на эмулятор, используя инструмент adb, который поставляется с SDK:
$ adb -s <emulator device> install bin/SensorSimulatorSettings.apk
(запустите adb-устройства, чтобы найти имя эмулятора). Наконец, запустите установленное приложение SensorSimulatorSettings в эмуляторе и введите IP-адрес 10.0.2.2 (несмотря на то, что может предложить приложение SensorSimulator. Это псевдоним устройства loopback хоста разработки, поэтому всегда должно быть действительный.
Ответ 2
Последняя версия эмулятора включена с поддержкой Accelerometer и других датчиков. Можно telnet localhost 5554
:
Попытка 127.0.0.1...
Подключено к localhost.
Символом Escape является "^]".
Android Console: введите "help" для списка команд
OKДатчик
позволяет запросить датчики эмуляторадоступных подкоманд:
статус списка всех датчиков и их статус.
получить значения датчиков заданные значения датчика установкиKO: отсутствует подкоманда
состояние датчика
ускорение: включено.
магнитное поле: включено.
ориентация: включена.
температура: включена. близость: включена.
OK
Как точно имитировать дрожь, я не знаю. Попробуйте быстро отправить эти две команды один за другим:
sensor set acceleration 0:0:0
sensor set acceleration 99:99:99
Ответ 3
Я также пытался заставить SensorSimulator работать, и я думаю, что, наконец, он работал.
Вышеуказанные шаги: "... java -jar bin/sensorsimulator.jar
Затем установите SensorSimulatorSettings в эмулятор, используя инструмент adb, который поставляется с SDK: $ adb -s install bin/SensorSimulatorSettings.apk
... Наконец, запустите установленное приложение SensorSimulatorSettings в эмуляторе и введите IP-адрес 10.0.2.2... "
- хорошее начало, но мне нужно было сделать больше.
Вам, видимо, необходимо изменить приложение, чтобы использовать SensorSimulator. Вы можете перейти к http://code.google.com/p/openintents/wiki/SensorSimulator и прокрутите страницу вниз до раздела "Как использовать сенсорный симулятор в вашем приложении".
Даже тогда у меня возникли некоторые ошибки в компиляции, поэтому вы можете увидеть эту страницу: Компонент Vintage Thermometer + SensorSimulator в эмуляторе Android - мне пришлось удалить ссылки на android.hardware.Sensor, SensorEvent и SensorEventListener.
И затем он был неудачным при вызове connectSimulator. По-видимому, мне нужно было предоставить разрешение на использование Интернета в файле манифеста.
После всего этого я могу использовать SensorSimulator, чтобы фактически повернуть мой телефон, и я получаю соответствующие показания датчика в своем приложении.
Ответ 4
Я испытал, что эмулятор для цели 10 не поддерживает акселерометр, но для цели 15 он делает. Я не знаю, есть ли способ сделать это для цели 10. Итак, для тестирования вашего приложения создайте свой проект и AVD для цели 15.
Ответ 5
Я предлагаю вам использовать приложение Genymotion, оно интегрирует полный инструмент для проверки акселерометра и использует более быстрый эмулятор: Genymotion