jenly1314 / WeChatQRCode

⛄ 基于OpenCV开源的微信二维码引擎移植的二维码扫码识别库
https://jenly1314.github.io/WeChatQRCode/
Apache License 2.0
599 stars 119 forks source link

更新依赖后调用摄像头直接崩溃 #30

Closed Haocen2004 closed 1 year ago

Haocen2004 commented 1 year ago
FATAL EXCEPTION: pool-8-thread-1
  Process: com.github.haocen2004.bh3_login_simulation, PID: 10390
  java.lang.NoSuchMethodError: No interface method onFailure()V in class Lcom/king/mlkit/vision/camera/analyze/Analyzer$OnAnalyzeListener; or its super classes (declaration of 'com.king.mlkit.vision.camera.analyze.Analyzer$OnAnalyzeListener' appears in /data/app/~~rPIv7MKO90s52TS5xx6zOw==/com.github.haocen2004.bh3_login_simulation-4YVxe6BTJgdzwWIrTmlLkw==/base.apk!classes11.dex)
    at com.king.wechat.qrcode.scanning.analyze.WeChatScanningAnalyzer.analyze(WeChatScanningAnalyzer.java:57)
    at com.king.mlkit.vision.camera.BaseCameraScan.lambda$startCamera$3$com-king-mlkit-vision-camera-BaseCameraScan(BaseCameraScan.java:354)
    at com.king.mlkit.vision.camera.BaseCameraScan$$ExternalSyntheticLambda4.analyze(Unknown Source:2)
    at androidx.camera.core.ImageAnalysis.lambda$setAnalyzer$2(ImageAnalysis.java:481)
    at androidx.camera.core.ImageAnalysis$$ExternalSyntheticLambda2.analyze(Unknown Source:2)
    at androidx.camera.core.ImageAnalysisAbstractAnalyzer.lambda$analyzeImage$0$androidx-camera-core-ImageAnalysisAbstractAnalyzer(ImageAnalysisAbstractAnalyzer.java:286)
    at androidx.camera.core.ImageAnalysisAbstractAnalyzer$$ExternalSyntheticLambda1.run(Unknown Source:14)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
    at java.lang.Thread.run(Thread.java:1012)

经过排查 com.github.jenly1314.MLKit:mlkit-camera-core 这个库最多只能用1.2.0版本 1.3.0 和 1.4.0会出现上面崩溃

jenly1314 commented 1 year ago
FATAL EXCEPTION: pool-8-thread-1
  Process: com.github.haocen2004.bh3_login_simulation, PID: 10390
  java.lang.NoSuchMethodError: No interface method onFailure()V in class Lcom/king/mlkit/vision/camera/analyze/Analyzer$OnAnalyzeListener; or its super classes (declaration of 'com.king.mlkit.vision.camera.analyze.Analyzer$OnAnalyzeListener' appears in /data/app/~~rPIv7MKO90s52TS5xx6zOw==/com.github.haocen2004.bh3_login_simulation-4YVxe6BTJgdzwWIrTmlLkw==/base.apk!classes11.dex)
    at com.king.wechat.qrcode.scanning.analyze.WeChatScanningAnalyzer.analyze(WeChatScanningAnalyzer.java:57)
    at com.king.mlkit.vision.camera.BaseCameraScan.lambda$startCamera$3$com-king-mlkit-vision-camera-BaseCameraScan(BaseCameraScan.java:354)
    at com.king.mlkit.vision.camera.BaseCameraScan$$ExternalSyntheticLambda4.analyze(Unknown Source:2)
    at androidx.camera.core.ImageAnalysis.lambda$setAnalyzer$2(ImageAnalysis.java:481)
    at androidx.camera.core.ImageAnalysis$$ExternalSyntheticLambda2.analyze(Unknown Source:2)
    at androidx.camera.core.ImageAnalysisAbstractAnalyzer.lambda$analyzeImage$0$androidx-camera-core-ImageAnalysisAbstractAnalyzer(ImageAnalysisAbstractAnalyzer.java:286)
    at androidx.camera.core.ImageAnalysisAbstractAnalyzer$$ExternalSyntheticLambda1.run(Unknown Source:14)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
    at java.lang.Thread.run(Thread.java:1012)

经过排查 com.github.jenly1314.MLKit:mlkit-camera-core 这个库最多只能用1.2.0版本 1.3.0 和 1.4.0会出现上面崩溃

你手动依赖的版本跨度太大导致,有些使用方式或API有变更,所以不兼容。

wechat-qrcode-scanning 本身会自动依赖 com.github.jenly1314.MLKit:mlkit-camera-core ,无需你手动去依赖 com.github.jenly1314.MLKit:mlkit-camera-core