Почему камера эмулятора андроида неожиданно останавливается? - PullRequest
9 голосов
/ 28 октября 2010

Я использую Android 2.2 (API Level 8). Камера включена в манифест. Когда я пытаюсь использовать значок камеры, предоставленный моделью эмулятора, он запускается в течение нескольких секунд, показывая серое поле, перемещающееся вокруг черно-белой шахматной доски, а затем умирает с сообщением об ошибке:

Извини! Приложение Camera (процесс com.android.camera) остановился неожиданно. Пожалуйста, попробуйте еще раз.

Повторная попытка, конечно, не помогает. Я использую предоставленную камеру эмулятора, чтобы сравнить поведение с приложением камеры, над которым я работаю. Почему камера эмулятора андроида неожиданно останавливается?

Ответы [ 5 ]

4 голосов
/ 28 октября 2010

Эмулятор камеры в лучшем случае ненадежный.

1 голос
/ 07 июля 2011

Для получения более подробной информации запустите " platform-tools / adb logcat " из командной строки хоста. Основная проблема - камера, которая думает, что подключено несколько клиентов. Камера также устанавливает поворот на альбомную, но после сбоя не удается установить его обратно:

I/ActivityManager(   70): Starting: Intent { act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera/.Camera } from pid 875
I/ActivityManager(   70): Start proc com.android.camera for activity com.android.camera/.Camera: pid=888 uid=10031 gids={1006, 1015}
I/WindowManager(   70): Setting rotation to 1, animFlags=1
I/ActivityManager(   70): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=2 layout=34 uiMode=17 seq=22}
V/CameraHolder(  888): open camera 0
W/CameraService(   34): CameraService::connect X (pid 888) rejected (existing client).
E/CameraHolder(  888): fail to connect Camera
E/CameraHolder(  888): java.lang.RuntimeException: Fail to connect to camera service
E/CameraHolder(  888):  at android.hardware.Camera.native_setup(Native Method)
E/CameraHolder(  888):  at android.hardware.Camera.<init>(Camera.java:258)
E/CameraHolder(  888):  at android.hardware.Camera.open(Camera.java:220)
E/CameraHolder(  888):  at com.android.camera.CameraHolder.open(CameraHolder.java:124)
E/CameraHolder(  888):  at com.android.camera.Camera.ensureCameraDevice(Camera.java:1608)
E/CameraHolder(  888):  at com.android.camera.Camera.startPreview(Camera.java:1660)
E/CameraHolder(  888):  at com.android.camera.Camera.access$5500(Camera.java:95)
E/CameraHolder(  888):  at com.android.camera.Camera$3.run(Camera.java:908)
E/CameraHolder(  888):  at java.lang.Thread.run(Thread.java:1019)
W/dalvikvm(  888): threadid=11: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(  888): FATAL EXCEPTION: Thread-12

См. Также вопрос " 4799183 "

0 голосов
/ 21 сентября 2011

Я понял, что симуляция камеры на Эмуляторе стабильна на уровне API 4 (Android 1.6) и ниже без сбоев.

0 голосов
/ 13 января 2011

Работает ли он в версии 2.1 и ранее?

В перспективе DDMS я вижу исключение, показанное здесь:

Ошибка встроенного приложения камеры эмулятора в Froyo / 2.2?

хотя я не пробовал изменить код, предложенный в статье.

Может быть, просто эмулятор камеры ненадежен:)

0 голосов
/ 06 января 2011

Я полагаю, потому что эмулятор не имеет реальной камеры, аппаратное обеспечение моделируется флажком, о котором вы говорите.Поскольку нет реального аппаратного драйвера, он, скорее всего, пытается проверить возможности или установить функции, которые не могут быть выполнены, потому что моделируемое оборудование не поддерживает его.Лучше всего сделать ставку на отладку камеры или откомпилировать ее самостоятельно и добавить отладочный вывод, чтобы выяснить, что именно происходит.

...