2012-12-20 17 views
12

HI am làm việc trên OCR (Nhận dạng ký tự quang học) tôi nhận dự án mẫu từ github.For dự án này đang sử dụng dự án thư viện thử nghiệm tess và dự án xây dựng và thực thi thành công. .và nó hiển thị lỗi nhật ký sauKhông thể tải lept từ bộ tải findLibrary trả về null?

12-20 18:27:18.791: E/AndroidRuntime(24466): java.lang.ExceptionInInitializerError 
12-20 18:27:18.791: E/AndroidRuntime(24466): at com.datumdroid.android.ocr.simple.SimpleAndroidOCRActivity.onPhotoTaken(SimpleAndroidOCRActivity.java:211) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at com.datumdroid.android.ocr.simple.SimpleAndroidOCRActivity.onActivityResult(SimpleAndroidOCRActivity.java:135) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.app.Activity.dispatchActivityResult(Activity.java:5293) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.app.ActivityThread.deliverResults(ActivityThread.java:3315) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.app.ActivityThread.access$1100(ActivityThread.java:141) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.os.Looper.loop(Looper.java:137) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at android.app.ActivityThread.main(ActivityThread.java:5039) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at java.lang.reflect.Method.invokeNative(Native Method) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at java.lang.reflect.Method.invoke(Method.java:511) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at dalvik.system.NativeStart.main(Native Method) 
12-20 18:27:18.791: E/AndroidRuntime(24466): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load lept from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.datumdroid.android.ocr.simple-1.apk,libraryPath=/data/app-lib/com.datumdroid.android.ocr.simple-1]: findLibrary returned null 
12-20 18:27:18.791: E/AndroidRuntime(24466): at java.lang.Runtime.loadLibrary(Runtime.java:365) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at java.lang.System.loadLibrary(System.java:535) 
12-20 18:27:18.791: E/AndroidRuntime(24466): at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:47) 

vui lòng đưa ra giải pháp cho vấn đề của tôi bị kẹt trong 5 ngày trong đơn đăng ký của tôi.

i googled rất nhiều đã không tìm thấy bất kỳ giải pháp .. cảm ơn

+0

bản sao có thể có của [Lỗi không tìm thấy Lib trong tesseract] (http://stackoverflow.com/questions/11516440/lib-not-found-error-in-tesseract) – njzk2

Trả lời

11

Hãy chắc chắn rằng các tập tin thư viện "liblept.so" tồn tại hoặc trong libs/armeabi hoặc libs/armeabi- v7a, nếu chúng tồn tại ở đó, hãy sử dụng 7Zip/WinRAR để mở tệp APK đã tạo và đảm bảo tệp đó cũng tồn tại trong APK.

0

bản sao của Lib not found error in tesseract

Vấn đề là liblept.so (thư viện chia sẻ) tập tin không thể được tìm thấy trên đường dẫn thư viện cụ thể. Nếu không thấy mã của bạn chỉ giả định là mã của bạn đang cố tải thư viện chia sẻ liblept.so và thư viện không có sẵn ở đường dẫn đó.

Ngoài ra mã bạn đang sử dụng có tệp liblept.so trong bất kỳ thư mục gói lib hoặc nội bộ nào hoặc bạn phải tạo (xây dựng) thư viện dùng chung bằng Android-NDK.

0

Tôi không chắc liệu bạn có tìm thấy câu trả lời cho vấn đề của mình hay không, nhưng tôi đến từ thư mục libs trong dự án của tôi không đúng tên (là lib thay vì libs). Vấn đề của tôi là do vô tình xóa dự án của tôi và phải khôi phục dự án bằng cách trích xuất APK từ điện thoại của tôi. Khi tôi đổi tên thư mục, vấn đề của tôi đã được giải quyết. Hy vọng rằng sẽ giúp.

0

PPL, Sau khi vật lộn một ngày .. cuối cùng có những giải pháp

Trong build.gradle của tess hai mô-đun thêm vào mã bên dưới:

sourceSets.main { 
    manifest.srcFile 'src/main/AndroidManifest.xml' 
    java.srcDirs = ['src/main/java'] 
    resources.srcDirs = ['src/main/java'] 
    res.srcDirs = ['src/main/res'] 
    jni.srcDirs = [] 
    jniLibs.srcDirs = ['src/main/jniLibs'] 
} 

điều chính là hãy kiểm tra bằng tay vượt qua tất cả những đường dẫn tệp được chỉ định trong mã ở trên tồn tại !!

Đến vấn đề này, hãy kiểm tra xem "liblept.so" tồn tại trong thư viện tess-two. Đối với tôi, nó nằm trong số /tesstwo/src/main/jniLibs/armeabi-v7a. Do đó tôi đã thực hiện jniLibs.srcDirs = ['src/main/jniLibs'] ở mã trên. Hy vọng nó giúp !!

Các vấn đề liên quan