我已经在git下载页面中构建了项目步骤 https://github.com/rmtheis/tess-two#build 我在路径环境中安装了ndk / sdk, 我也在项目local.properties中添加了ndk路径。这是我的项目构建日志,在我将tess-two lib作为externel项目添加到我的
之后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
答案 0 :(得分:9)
编译Tesseract OCR所遵循的步骤仅适用于eclipse, 如果您想在Android Studio上使用它,请按照以下步骤操作
1)从这里下载并安装ndk https://developer.android.com/tools/sdk/ndk/index.html。我有一些 在下面的步骤中遇到麻烦,所以我把它放在“C:\”。
2)将该路径添加到系统的环境变量中(例如: “C:\ android_ndk_r10d”)然后重启,以便您的机器可以找到它。
3)从这里下载“tess-two-master” https://github.com/rmtheis/tess-two,提取它(例如在“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:\”
9)写下“蚂蚁释放”。如果IT投诉转到您改变的地方 您在步骤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 “使用gradle配置tess-two”部分,但为了安全起见,请勿删除 任何文件夹或文件,即使他建议这样做。我遇到了麻烦 使用“libraries \ tess-two”目录中的“build.gradle”文件,但它是 足以改变它的一些价值。就我而言,我有:
“
classpath ‘com.android.tools.build:gradle:0.14.0′” instead of “classpath ‘com.android.tools.build:gradle:0.9.+’
”和
“
compileSdkVersion 21 buildToolsVersion “21.0.2” defaultConfig { minSdkVersion 15 targetSdkVersion 21 }
”
而不是
“
compileSdkVersion 19 buildToolsVersion “19.0.3” defaultConfig { minSdkVersion 8 targetSdkVersion 19}
”。
请注意,最后一步意味着您必须进入“文件 - &gt;项目 结构 - &gt;从左侧子窗口中选择一个模块 - &gt;依赖 (最后一个标签) - &gt;按右侧的绿色“+” - &gt;模块依赖 - &gt; OK”
11)下载此项目 https://github.com/GautamGupta/Simple-Android-OCR并复制并粘贴 你的新项目这些文件中的代码: “SimpleAndroidOCRActivity.java”,“main.xml”,“strings.xml”。当然 您的文件可能有不同的名称(在我的案例中为“MainActivity.java”, “activity_main.xml”,“strings.xml”)所以在代码中有些重命名可能 是必要的。同时打开你的“AndroidManifest.xml”并在最后添加 (但在“/ manifest”之前)你在“/ application”和“/ application”之间找到了什么 刚刚下载的“AndroidManifest.xml”中的“/ 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-&gt; src-&gt; main”。在这里创建一个 新文件夹并将其命名为“assets”。打开它并创建另一个文件夹 名为“tessdata”。把你的.traineddata文件放在那里。
来源:http://gaut.am/making-an-ocr-android-app-using-tesseract/#comment-184181
答案 1 :(得分:0)
在看到答案之前下载最新的&#34; android ndk&#34;并在C:上安装或解压缩,文件夹路径应该是这样的; &#34; C:\机器人-NDK-r10e&#34;
然后将ndk路径(C:\ android-ndk-r10e)添加到环境变量(系统变量)中的路径变量值中,该变量离开了我的&#34;路径&#34;像这样的变量
设置 - &gt;系统 - &gt; Advenced System Settings - &gt;系统变量
答案 2 :(得分: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构建的完整路径。希望它会帮助你。