我正在使用Google的OCR库来检测我的应用中的图像文字。早些时候工作正常,但突然间它开始出错了。我在TextReconiger实例化期间遇到崩溃。我在三星S6边缘,三星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商店中的应用评分。从这个崩溃日志我不知道如何解决这个问题。如果有人知道这个问题的解决方案,请帮助我。
答案 0 :(得分: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
}
可能这会有所帮助。感谢
答案 1 :(得分:0)
我有同样的问题和相同的错误跟踪。
我读到带有OCR修复程序的新版Google Play服务版本目前处于测试版渠道。我刚测试过它并且正在工作!