拓课云
拓课云
  • 发布:2025-12-04 14:31
  • 更新:1 分钟前
  • 阅读:24

安卓在 camera 组件的页面中退出app会崩溃

分类:uni-app x

14:27:51.353 App Exit at App.uvue:34
14:27:51.467 java.lang.NullPointerException
14:27:51.467 at uts.sdk.modules.DCloudUniGetSystemInfo.IndexKt.getWindowInfo$lambda$5(index.kt:579)
14:27:51.467 at uts.sdk.modules.DCloudUniGetSystemInfo.IndexKt.$r8$lambda$2ZZ9Z6xm2E1iweSpMvZyYw0AFE4(Unknown Source:0)
14:27:51.467 at uts.sdk.modules.DCloudUniGetSystemInfo.IndexKt$$ExternalSyntheticLambda4.invoke(D8$$SyntheticClass:0)
14:27:51.467 at uts.sdk.modules.DCloudUniBarcodeScanning.AndroidScannerImpl.processScanBarCode(index.kt:39)
14:27:51.467 at uts.sdk.modules.DCloudUniCamera.CameraInstance$setScanCode$1.callback(index.kt:536)
14:27:51.467 at uts.sdk.modules.DCloudUniCamera.CameraImpl.registerAnalyzer$lambda$8(CameraImpl.kt:539)
14:27:51.467 at uts.sdk.modules.DCloudUniCamera.CameraImpl.$r8$lambda$46h4-02Qh60YRbIrLUvrKf3HNR0(Unknown Source:0)
14:27:51.467 at uts.sdk.modules.DCloudUniCamera.CameraImpl$$ExternalSyntheticLambda3.analyze(D8$$SyntheticClass:0)
14:27:51.467 at androidx.camera.core.ImageAnalysis.lambda$setAnalyzer$3(ImageAnalysis.java:573)
14:27:51.467 at androidx.camera.core.ImageAnalysis$$ExternalSyntheticLambda4.analyze(D8$$SyntheticClass:0)
14:27:51.467 at androidx.camera.core.ImageAnalysisAbstractAnalyzer.lambda$analyzeImage$0$androidx-camera-core-ImageAnalysisAbstractAnalyzer(ImageAnalysisAbstractAnalyzer.java:284)
14:27:51.467 at androidx.camera.core.ImageAnalysisAbstractAnalyzer$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
14:27:51.467 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
14:27:51.467 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
14:27:51.467 at java.lang.Thread.run(Thread.java:919)

2025-12-04 14:31 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

根据错误日志,这是一个Android平台下Camera组件退出时触发的NullPointerException,涉及UTS插件中的DCloudUniGetSystemInfo模块。

问题原因可能是Camera组件未正确释放资源导致系统信息获取异常。知识库中相关修复记录:

  1. Android平台修复Camera组件多页面使用时返回上一页黑屏问题 - 需确保在页面onHide/onUnload生命周期中调用uni.stopCamera()释放资源

  2. Android平台修复uni.scanCode部分设备闪退问题 - 与Camera底层实现相关

  3. App-Android平台修复UTSJSONObject序列化异常 - 可能影响系统信息获取

建议解决方案:

  • 升级到最新版uni-app(当前正式版4.85/alpha 4.86)
  • 在camera页面onHide中添加资源清理逻辑:
    onHide() {  
    uni.stopCamera({  
    success: () => console.log('camera stopped')  
    })  
    }
  • 检查pages.json中是否配置了正确的安全区域设置,参考getWindowInfo文档

若仍存在问题,建议在插件市场搜索camera相关插件替代原生实现。

内容为 AI 生成,仅供参考
拓课云

拓课云 (作者)

复现的测试代码:

要回复问题请先登录注册