1

git ダウンロード ページ https://github.com/rmtheis/tess-two#buildの手順に従ってプロジェクトをビルドし ました。パス環境に ndk/sdk をインストールし、ローカル プロジェクトに ndk パスを追加しました。プロパティ。tess-two libを外部プロジェクトとして追加した後のプロジェクトビルドログは次のとおりです。

Information:Gradle tasks [clean, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :tesstwo:compileDebugSources, :tesstwo:compileDebugAndroidTestSources]
:app:clean
:tesstwo:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:tesstwo:compileLint
:tesstwo:copyReleaseLint UP-TO-DATE
:tesstwo:mergeReleaseProguardFiles UP-TO-DATE
:tesstwo:preBuild UP-TO-DATE
:tesstwo:preReleaseBuild UP-TO-DATE
:tesstwo:checkReleaseManifest
:tesstwo:prepareReleaseDependencies
:tesstwo:compileReleaseAidl
:tesstwo:compileReleaseRenderscript
:tesstwo:generateReleaseBuildConfig
:tesstwo:generateReleaseAssets UP-TO-DATE
:tesstwo:mergeReleaseAssets
:tesstwo:generateReleaseResValues UP-TO-DATE
:tesstwo:generateReleaseResources
:tesstwo:packageReleaseResources
:tesstwo:processReleaseManifest
:tesstwo:processReleaseResources
:tesstwo:generateReleaseSources
:tesstwo:processReleaseJavaRes UP-TO-DATE
:tesstwo:compileReleaseJava
:tesstwo:packageReleaseJar
:tesstwo:compileReleaseNdk
In file included from C:\Users\Julian\AndroidStudioProjects\Jtess\tesstwo\src\main\jni\com_googlecode_leptonica_android\box.cpp:17:0:
C:\Users\Julian\AndroidStudioProjects\Jtess\tesstwo\src\main\jni\com_googlecode_leptonica_android\common.h:22:24: fatal error: allheaders.h: No such file or directory
 #include <allheaders.h>
                        ^
compilation terminated.
make.exe: *** [C:\Users\Julian\AndroidStudioProjects\Jtess\tesstwo\build\intermediates\ndk\release\obj/local/arm64-v8a/objs/tesstwo/C_\Users\Julian\AndroidStudioProjects\Jtess\tesstwo\src\main\jni\com_googlecode_leptonica_android\box.o] Error 1
Error:Execution failed for task ':tesstwo:compileReleaseNdk'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Julian\Downloads\android-ndk-r10d\ndk-build.cmd'' finished with non-zero exit value 2
Information:BUILD FAILED
Information:Total time: 38.843 secs
Information:1 error
Information:0 warnings
Information:See complete output in console
4

3 に答える 3

9

Tesseract OCR をコンパイルするために実行した手順は、Eclipse でのみ機能します。Android Studio で使用する場合は、次の手順に従います。

1) https://developer.android.com/tools/sdk/ndk/index.htmlから ndk をダウンロードしてインストールし ます。次の手順でパスに問題があったため、「C:\」に入れました。

2) そのパスをシステムの環境変数 (例: 「C:\android_ndk_r10d」) に追加し、マシンがそれを見つけられるように再起動します。

3) ここhttps://github.com/rmtheis/tess-twoから「tess-two-master」をダウンロード し、展開 (たとえば「C:\」) し、名前を「tess」に変更します。

4) 「tess」フォルダを開き、「tess-two」フォルダを開きます。Shiftボタンを押しながら空白部分をクリックし、「コマンドウィンドウをここで開く」を選択します。

5) 「ndk-build」と書き込み、完了するまで待ちます(約20分)。

6) 親フォルダーに戻り、「eyes-two」フォルダーを選択し、再度、Shift キーを押しながら空白スペースをクリックして、コマンド ウィンドウを開きます。

7) 「ndk-build」と書いて待つ。

8) 「android update project –target 1 –path C:\tess\tess-two」と書く。もちろん、「tess」フォルダーは「C:\」にあると思います</p>

9) 「アリリリース」と書く。苦情がある場合は、手順 2 で行ったようにシステム環境変数を変更し、「JAVA_HOME」という名前の新しい変数を追加し、jdk へのパスを指定します (例:「C:\Program Files\Java\jdk1.8.0_40」)。 ″)

10) 完全に新しい Android Studio プロジェクトを開き、 https: //coderwall.com/p/eurvaq/tesseract-with-andoird-and-gradle のセクション「Configure tess-two with gradle」の手順に従いますが、安全のために実行しないでください。彼がそうするように提案した場合でも、フォルダーまたはファイルを削除します。「libraries\tess-two」ディレクトリの「build.gradle」ファイルに問題がありましたが、値を変更するだけで十分です。私の場合、私は持っています:

「<code>classpath 'com.android.tools.build:gradle:0.14.0'」ではなく「classpath 'com.android.tools.build:gradle:0.9.+'</code>」</p>

compileSdkVersion 21
buildToolsVersion “21.0.2”
defaultConfig {
minSdkVersion 15
targetSdkVersion 21
}

」</p>

それ以外の

compileSdkVersion 19
buildToolsVersion “19.0.3”

defaultConfig {
minSdkVersion 8
targetSdkVersion 19}

」。

最後のステップは、「ファイル -> プロジェクト構造 -> 左側のサブウィンドウからモジュールを選択 -> 依存関係 (最後のタブ) -> 右側の緑色の「+」を押す -> モジュールの依存関係 -> に移動する必要があることを意味することに注意してください。わかりました」</p>

11) このプロジェクト https://github.com/GautamGupta/Simple-Android-OCRをダウンロードし、次のファイルのコードをコピーして新しいプロジェクトに貼り付けます: 「SimpleAndroidOCRActivity.java」、「main.xml」、「strings.xml」。もちろん、ファイルの名前が異なる場合があるため (私の場合は「MainActivity.java」、「activity_main.xml」、「strings.xml」)、コードで名前を変更する必要がある場合があります。また、「AndroidManifest.xml」を開き、ダウンロードしたばかりの「AndroidManifest.xml」の「/application」と「/manifest」の間にあるものを最後 (「/manifest」の前) に追加します (つまり、 「uses-permissions」および「uses-feature」タグを追加します)。

12) https://code.google.com/p/tesseract-ocr/downloads/listから希望する言語のファイルをダウンロードし (例: tesseract-ocr-3.02.eng.tar.gz )、解凍してファイル「yourLanguage.traineddata」を見つけます (例: 「eng.traineddata」)。Android Studio IDE のことはしばらく忘れて、プロジェクトのフォルダーを開き、「app–>src–>main」に移動します。ここに新しいフォルダーを作成し、「assets」という名前を付けます。それを開き、「tessdata」という名前の別のフォルダーを作成します。そこに .traineddata ファイルを置きます。

ソース: http://gaut.am/making-an-ocr-android-app-using-tesseract/#comment-184181

于 2015-06-17T04:56:15.013 に答える
1

回答を確認する前に、最新の「android ndk」をダウンロードして C: にインストールまたは抽出します。フォルダー パスは次のようになります。「C:\android-ndk-r10e」

次に、ndk パス (C:\android-ndk-r10e) を環境変数 (システム変数) のパス変数の値に追加し、「パス」変数を​​次のように残しました。

設定 --> システム --> システムの詳細設定 --> システム変数

設定 --> システム --> システムの詳細設定 --> システム変数
この設定を行った後、Windows オペレーティング システム上の Android Studio については、以下のリンクの指示に従うことができます。

https://stackoverflow.com/a/30882613/1897454

于 2016-04-30T17:35:46.287 に答える
0

この問題がありました。まず、アプリのlocal.propertiesで NDK パスを指定する必要があります。

e.g. ndk.dir=/home/user/bin/android_ndk/android-ndk-r10e

それから私のbuild.gradleファイルには、ndk buildコマンドを呼び出すためにこのようなものがありました。

commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath

に変更しました

commandLine '/home/user/bin/android_ndk/android-ndk-r10e/ndk-build', '-C', file('src/main/jni').absolutePath

NDK ビルドのフルパスを指定しました。それがあなたを助けることを願っています。

于 2016-06-20T08:37:39.000 に答える