【问题标题】:Couldn't load lept from loader findLibrary returned null?无法从加载器 findLibrary 加载 lept 返回 null?
【发布时间】:2012-12-08 00:57:43
【问题描述】:

您好,我正在研究 OCR(光学字符识别),我从 github 获得了一个示例项目。对于这个项目,我正在使用 tess-test 库项目,该项目成功构建并执行,但只要 TessBaseAPI 是不幸的是,调用该应用程序停止了..它显示以下日志错误

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)

请解决我的问题,因为我的申请需要 5 天。

我google了很多都没找到解决办法.. 谢谢你

【问题讨论】:

标签: android ocr


【解决方案1】:

确保库文件 "liblept.so" 存在于 libs/armeabi 或 libs/armeabi-v7a 中,如果它们存在,使用7Zip/WinRAR打开生成的APK文件,确保APK中也存在。

【讨论】:

    【解决方案2】:

    与Lib not found error in tesseract 重复

    问题是在特定库路径上找不到 liblept.so(共享库)文件。没有看到您的代码,只是假设您的代码尝试加载共享库 liblept.so 并且该库在该路径不可用。

    此外,您使用的代码要么在任何 lib 或内部包目录中包含该 liblept.so 文件,要么您必须使用 Android-NDK 生成(构建)该共享库。

    【讨论】:

      【解决方案3】:

      我不确定您是否找到了问题的答案,但我的答案来自我项目中的 libs 文件夹,但名称不正确(是 lib 而不是 libs)。我的问题是意外删除我的项目并不得不通过从手机中提取 APK 来恢复它的结果。重命名文件夹后,我的问题就解决了。希望有帮助。

      【讨论】:

        【解决方案4】:

        Ppl,折腾了一天..终于找到解决办法了

        在 tess-two 模块的 build.gradle 中添加以下代码:

          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']
        }
        

        主要是请手动检查上面代码中指定的所有文件路径是否存在!

        来到这个问题,检查“liblept.so”在 tess-two 库中的位置。 对我来说,它在 /tesstwo/src/main/jniLibs/armeabi-v7a 里面。因此,我在上面的代码中制作了 jniLibs.srcDirs = ['src/main/jniLibs'] 。希望有帮助!!

        【讨论】:

          猜你喜欢
          • 2014-10-26
          • 2015-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多