MLKit条形码阅读器是否解决了Mobile Vision API条形码扫描器上存在的本机崩溃问题?

时间:2019-03-26 19:33:08

标签: android firebase firebase-mlkit

我正在使用Mobile Vision API通过摄像机流检测条形码,就像在此示例中一样:https://github.com/googlesamples/android-vision/tree/master/visionSamples/barcode-reader,不幸的是,由于在其中空指针取消引用,导致应用程序突然崩溃了条形码读取器的本机代码,请参见issue #351

尽管报告的问题是在Pixel设备上,但我在运行Android 7和8的Samsung Tab A设备上发现了相同的stacktrace,这是错误的stacktrace

 Build fingerprint: 'samsung/gta2xlltespr/gta2xlltespr:8.1.0/M1AJQ/T597PVPU1ASA2:user/release-keys'
03-13 15:42:47.077 F/DEBUG   (11969): Revision: '7'
03-13 15:42:47.077 F/DEBUG   (11969): ABI: 'arm'
03-13 15:42:47.078 F/DEBUG   (11969): pid: 11696, tid: 11874, name: Thread-24 03-13 15:42:47.078 F/DEBUG   (11969): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
03-13 15:42:47.078 F/DEBUG   (11969): Cause: null pointer dereference
03-13 15:42:47.078 F/DEBUG   (11969):     r0 ea09c5a8  r1 a25b973a  r2 ea09b6d0  r3 00000000
03-13 15:42:47.078 F/DEBUG   (11969):     r4 00000000  r5 ea09b6d0  r6 c7b967f0  r7 c7b96904
03-13 15:42:47.078 F/DEBUG   (11969):     r8 00000022  r9 00000001  sl 43dc8000  fp 44518000
03-13 15:42:47.078 F/DEBUG   (11969):     ip eb2b3d58  sp c7b967e0  lr eb28a345  pc c8951c12  cpsr 200d0030
03-13 15:42:47.080 F/DEBUG   (11969): 
03-13 15:42:47.080 F/DEBUG   (11969): backtrace:
03-13 15:42:47.080 F/DEBUG   (11969):     #00 pc 00011c12  /data/data/com.google.android.gms/app_vision/barcode/libs/armeabi-v7a/libbarhopper.so
03-13 15:42:47.080 F/DEBUG   (11969):     #01 pc 0000a345  /data/data/com.google.android.gms/app_vision/barcode/libs/armeabi-v7a/libbarhopper.so
03-13 15:42:47.080 F/DEBUG   (11969):     #02 pc 0000331d  /data/data/com.google.android.gms/app_vision/barcode/libs/armeabi-v7a/libbarhopper.so
03-13 15:42:47.080 F/DEBUG   (11969):     #03 pc 000043df  /data/data/com.google.android.gms/app_vision/barcode/libs/armeabi-v7a/libbarhopper.so
03-13 15:42:47.081 F/DEBUG   (11969):     #04 pc 00001e63  /data/data/com.google.android.gms/app_vision/barcode/libs/armeabi-v7a/libbarhopper.so
03-13 15:42:47.081 F/DEBUG   (11969):     #05 pc 00002a91  /data/data/com.google.android.gms/app_vision/barcode/libs/armeabi-v7a/libbarhopper.so
03-13 15:42:47.081 F/DEBUG   (11969):     #06 pc 00000adf  /data/user_de/0/com.google.android.gms/app_chimera/m/00000034/oat/arm/DynamiteModulesA.odex (offset 0x6000)

这是我当前应用程序中的一项重要功能,如果有人可以告诉我使用MLKit是否安全,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

SIGSEGV别名11表示分段错误;内存地址0xc未映射到对象; siginfo.h定义了这一点,这是由于访问未分配的地址(与IndexOutOfBoundsException中的Java相同,但在内存分配级别上)引起的。

示例应用程序使用了绝望的过时依赖项。最好尝试使用当前版本:

implementation "com.google.android.gms:play-services-base:16.1.0"
implementation "com.google.android.gms:play-services-vision:17.0.2"

很难确定这是否是“保存”,因为该问题没有最少的代码,也没有告诉您使用哪个版本的库。所以没有什么可以可靠地复制的。