3

我正在使用 Google 的 OCR 库从我的应用程序中的图像中检测文本。早些时候它工作正常,但突然开始出错。我在 TextReconiger 的实例化过程中崩溃了。我在三星 S6 edge、三星 S7 等设备上遇到了这种崩溃,而在某些设备上它运行良好。

我在代码中的这一行崩溃了

TextRecognizer textRecognizer = new TextRecognizer.Builder(context).build();

崩溃日志:

  native: pc 000000000006f9fc  /system/lib64/libc.so (tgkill+8)
  native: pc 000000000006cd10  /system/lib64/libc.so (pthread_kill+64)
  native: pc 0000000000025078  /system/lib64/libc.so (raise+24)
  native: pc 000000000001cc04  /system/lib64/libc.so (abort+52)
  native: pc 00000000004750d0 
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000475770  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000475814  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000474830  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 000000000026cee4  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000271190  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000065794  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000065488  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 000000000027caf4  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000280274  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000067c84  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000067f64  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000063dec  
  /data/data/com.google.android.gms/app_vision/ocr/libs/arm64-
  v8a/libocr.so
  native: pc 0000000000387e60  
/data/user_de/0/com.google.android.gms/app_chimera/m/00000027/oat/arm64
/DynamiteModulesA_GmsCore_prodmnc_xxhdpi_release.odex

此崩溃正在影响我的应用在 Google Play 商店中的评级。从这个崩溃日志中,我不知道如何解决这个问题。如果有人知道此问题的解决方案,请帮助我。

4

2 回答 2

1

我在 App 端实现了一些逻辑来减少崩溃。

从 App 端,我们可以做一件事来减少崩溃。我们可以编写代码来跟踪在 TextRecognizer 对象实例化期间应用程序是否在设备上崩溃,然后从下一次我们可以绕过/禁用 OCR 功能。但在其他设备上(没有崩溃)它会完美运行。

这将导致在受影响的设备上崩溃一次,并且下次不会崩溃(是的,它会影响功能)。

boolean isFirstTimeUser = getBooleanFromPreference (default value TRUE) 
boolean isGVSupportThisDevice = getBooleanFromPreference (default value False)

if (isFirstTimeUser || isGVSupportThisDevice) {

     Update Preference to make isFirstTimeUser to false

     textRecognizer = new TextRecognizer.Builder(context).build();

     Update Preference to make isGVSupportThisDevice to True
}

可能这会有所帮助。谢谢

于 2017-11-09T14:14:35.220 回答
0

我有同样的问题和相同的错误跟踪。

我读到带有 OCR 修复的新 Google Play 服务版本目前处于 Beta 通道中。我刚刚测试过它并且正在工作!

https://play.google.com/apps/testing/com.google.android.gms

于 2017-11-14T15:46:20.867 回答