12

HI はOCR (光学式文字認識)に取り組んでいます。github からサンプル プロジェクトを取得しました。以下のログエラー

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 日から立ち往生しています。

私はたくさんグーグルで解決策を見つけられませんでした..ありがとう

4

4 に答える 4

0

問題の答えが見つかったかどうかはわかりませんが、私のプロジェクトの libs フォルダーから間違った名前が付けられていました (libs ではなく lib でした)。私の問題は、プロジェクトを誤って削除してしまい、携帯電話から APK を抽出してプロジェクトを復元しなければならなかったことが原因でした。フォルダの名前を変更したら、問題は解決しました。それが役立つことを願っています。

于 2014-10-14T00:39:49.330 に答える
0

Ppl、1日苦労した後..最終的に解決策を得ました

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']を作成しました。それが役に立てば幸い !!

于 2015-10-16T06:47:50.317 に答える