为什么android模拟器相机会意外停止?

时间:2010-10-28 16:09:19

标签: java android android-emulator camera

我使用的是Android 2.2(API Level 8)。清单中启用了摄像头。当我尝试模拟器模型提供的相机图标时,它会运行几秒钟,显示一个灰色框在黑白棋盘上移动,然后因错误信息而死:

  

抱歉!应用程序Camera(进程   com.android.camera)已经停止了   不料。请再试一次。

当然,再试一次也无济于事。我正在使用提供的模拟器相机来比较我正在处理的相机应用程序的行为。为什么android模拟器相机会意外停止?

5 个答案:

答案 0 :(得分:4)

模拟器相机最多只是片状。

答案 1 :(得分:1)

要获取更多详细信息,请从主机命令行运行“ 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

答案 2 :(得分:0)

我想是因为模拟器没有真正的相机,硬件是由您所说的检查器模拟的。由于没有真正的硬件驱动程序,因此很可能会尝试检查功能,或者设置由于模拟硬件不支持而无法完成的功能。最好的办法是调试相机或自己编译并添加一些调试输出以找出究竟发生了什么。

答案 3 :(得分:0)

它在2.1及更早版本中有用吗?

在DDMS透视图中,我可以看到此处显示的异常:

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

虽然我没有尝试过文章中建议的代码更改。

可能只是模拟器相机不稳定:)

答案 4 :(得分:0)

我已经意识到模拟器上的相机模拟在API级别4(Android 1.6)及以下版本上是稳定的,而不会崩溃。