Решил ли MLKit сканер штрих-кода собственную проблему сбоев, которая присутствовала на сканере штрих-кода Mobile Vision API? - PullRequest
0 голосов
/ 26 марта 2019

Я использовал Mobile Vision API для обнаружения штрих-кодов с использованием потока камеры, как в этом примере: https://github.com/googlesamples/android-vision/tree/master/visionSamples/barcode-reader, к сожалению, существует проблема, из-за которой приложение вылетает неожиданно из-за разыменования нулевого указателя в родной код считывателя штрих-кода, см. выпуск # 351 .

Хотя описанная проблема связана с устройством Pixel, я обнаружил такую ​​же трассировку стека на своих устройствах Samsung Tab A, работающих под управлением Android 7 и 8, здесь приведена трассировка стека ошибки

 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 голосов
/ 26 марта 2019

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"

Сложно сказать, если это «сохранить», потому что вопрос не содержит ни малейшего кода, ни того, какую версию библиотеки вы используете. так что это ничто не может быть воспроизведено надежным способом.

...