其他分享
首页 > 其他分享> > user版本进入相机闪退。

user版本进入相机闪退。

作者:互联网

现象

user版本进入相机闪退
log

--------- beginning of crash
01-01 12:00:30.736  6939  6939 E AndroidRuntime: FATAL EXCEPTION: main
01-01 12:00:30.736  6939  6939 E AndroidRuntime: Process: org.codeaurora.snapcam, PID: 6939
01-01 12:00:30.736  6939  6939 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {org.codeaurora.snapcam/com.android.camera.CameraActivity}: java.lang.IllegalArgumentException: width must be positive
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3823)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3855)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1817)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:106)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:106)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.os.Looper.loop(Looper.java:193)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:6746)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
01-01 12:00:30.736  6939  6939 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: width must be positive
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.internal.util.Preconditions.checkArgumentPositive(Preconditions.java:268)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.params.StreamConfiguration.<init>(StreamConfiguration.java:63)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration.unmarshal(MarshalQueryableStreamConfiguration.java:59)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration.unmarshal(MarshalQueryableStreamConfiguration.java:38)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.marshal.impl.MarshalQueryableArray$MarshalerArray.unmarshal(MarshalQueryableArray.java:93)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:502)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative.getStreamConfigurationMap(CameraMetadataNative.java:913)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative.access$400(CameraMetadataNative.java:78)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative$5.getValue(CameraMetadataNative.java:570)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:402)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.camera.CaptureModule.setUpCameraOutputs(CaptureModule.java:2056)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.camera.CaptureModule.openProcessors(CaptureModule.java:2803)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.camera.CaptureModule.onResumeAfterSuper(CaptureModule.java:2822)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at com.android.camera.CameraActivity.onResume(CameraActivity.java:1851)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1413)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.Activity.performResume(Activity.java:7300)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3815)
01-01 12:00:30.736  6939  6939 E AndroidRuntime:  ... 11 more

提示java.lang.IllegalArgumentException: width must be positive

分析

通过后面抓log分析得到,camera应用获取camera matadata时,相机的尺寸width height 出现为0的情况。

最终修改

diff --git a/vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/hi1336/hi1336_lib.h b/vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/hi1336/hi1336_lib.h
index 32e73a7..d09fe21 100755
--- a/vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/hi1336/hi1336_lib.h
+++ b/vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/hi1336/hi1336_lib.h
@@ -1346,43 +1346,43 @@

           .seq_type = CAMERA_POW_SEQ_GPIO,
           .seq_val = CAMERA_GPIO_STANDBY,
           .config_val = GPIO_OUT_LOW,
-          .delay = 1,
+          .delay = 5,
         },
         {
           .seq_type = CAMERA_POW_SEQ_GPIO,
           .seq_val = CAMERA_GPIO_RESET,
           .config_val = GPIO_OUT_LOW,
-          .delay = 1,
+          .delay = 5,
+          },
         {
           .seq_type = CAMERA_POW_SEQ_VREG,
           .seq_val = CAMERA_VIO,
           .config_val = 1,
-          .delay = 0,
+          .delay = 5,
         },
         {
           .seq_type = CAMERA_POW_SEQ_GPIO,
           .seq_val = CAMERA_GPIO_VANA,
           .config_val = GPIO_OUT_HIGH,
-          .delay = 0,
+          .delay = 5,
         },
         {
           .seq_type = CAMERA_POW_SEQ_GPIO,
           .seq_val = CAMERA_GPIO_VDIG,
           .config_val = GPIO_OUT_HIGH,
-          .delay = 0,
+          .delay = 5,
         },
         {
           .seq_type = CAMERA_POW_SEQ_VREG,
           .seq_val = CAMERA_VAF,
           .config_val = 0,
-          .delay = 1,
+          .delay = 5,
         },
         ....         
+ 

标签:00,01,相机,30.736,12,user,6939,闪退,AndroidRuntime
来源: https://blog.csdn.net/wangjicong_215/article/details/104667957