user版本进入相机闪退。

18 篇文章 0 订阅
8 篇文章 1 订阅

现象

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,
         },
         ....         
+ 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值