2010-10-28 8 views
9

Estoy usando Android 2.2 (API nivel 8). La cámara está habilitada en el manifiesto. Cuando pruebo el icono de cámara proporcionado por el modelo de emulador, se ejecuta durante unos segundos mostrando un cuadro gris moviéndose alrededor de un tablero de ajedrez en blanco y negro, luego muere con el mensaje de error:¿Por qué la cámara del emulador de Android se detiene inesperadamente?

¡Lo siento! La aplicación Cámara (proceso com.android.camera) ha detenido inesperadamente. Inténtalo de nuevo.

Probando de nuevo, por supuesto, no ayuda. Estoy usando la cámara emuladora provista para comparar el comportamiento con una aplicación de cámara en la que estoy trabajando. ¿Por qué la cámara del emulador de Android se detiene inesperadamente?

+2

Este es uno de los mayores misterios en Android ... es mejor que no pruebes nada en contra de la cámara del emulador. Simplemente no funciona bien siempre. – Cristian

Respuesta

4

La cámara del emulador es escamosa en el mejor de los casos.

0

Me imagino que debido a que el emulador no tiene una cámara real, el hardware es simulado por el checkerbox del que habla. Debido a que no existe un controlador de hardware real, lo más probable es que intente verificar las capacidades o establecer características que no se pueden hacer porque el hardware simulado no lo admite. Su mejor opción es depurar la cámara o compilarla usted mismo y agregar alguna salida de depuración para descubrir qué está sucediendo exactamente.

0

¿Funciona en 2.1 y versiones anteriores?

En la perspectiva DDMS puedo ver la excepción que se muestra aquí:

Emulator's camera built-in app buggy in Froyo/2.2?

aunque no he probado el cambio de código sugerido en el artículo.

que sólo podría ser que la cámara emulador es escamosa :)

1

para obtener más detalles corren "plataforma de herramientas/Logcat ADB" de la línea de comandos de acogida. El problema base parece ser la cámara pensando que hay varios clientes conectados. La cámara también se establece la rotación con el paisaje, pero después de chocar no establece de nuevo:

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 

Véase también la pregunta "4799183"

0

me he dado cuenta que la simulación de la cámara en el emulador es estable en el nivel API 4 (Android 1.6) e inferior sin bloquearse.

Cuestiones relacionadas