1

我已经在 git 下载页面 https://github.com/rmtheis/tess-two#build中构建了项目 vie 步骤 我已经在我的路径环境中安装了配置的 ndk/sdk,我还在项目本地添加了 ndk 路径。特性。这是我的项目构建日志,在我将 tess-two 库作为外部项目添加到我的

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)从这里下载并安装ndk https://developer.android.com/tools/sdk/ndk/index.html。我在以下步骤中遇到了一些问题,所以我把它放在“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更新项目–target 1 –path C:\tess\tess-two”。当然我假设你的“tess”文件夹位于“C:\”</p>

9) 写“ant release”。如果它抱怨到您在步骤 2 中更改系统环境变量的位置,并添加一个名为“JAVA_HOME”的新变量,并为您的 jdk 赋值(例如:“C:\Program Files\Java\jdk1.8.0_40 ")

10) 打开一个全新的 Android Studio 项目并按照“使用 gradle 配置 tess-two”部分中的这些说明 https://coderwall.com/p/eurvaq/tesseract-with-andoird-and-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”并在最后(但在“/manifest”之前)添加你在刚刚下载的“AndroidManifest.xml”中的“/application”和“/manifest”之间找到的内容(这意味着你必须添加“使用权限”和“使用功能”标签)。

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 回答