使用 Android Studio 的 gradle 构建将 tess-two 构建到项目中

Building tess-two into a project using Android Studio's gradle build

有关于将 tess-two 项目集成到 Android Studio 中的 Android 项目的答案,但很多都已过时none 使用了此处定义的当前功能:

Using Android Studio 2.2 and higher, you can use the NDK to compile C and C++ code into a native library and package it into your APK using Gradle, the IDE's integrated build system. Your Java code can then call functions in your native library through the Java Native Interface (JNI)

使用 Android Studio 中的功能,而不是外部文件,使 tess-two 功能成为生成的 APK 的一部分需要哪些具体步骤放置、操作和命令行工具?于是把构建、创建*.so文件放到了IDE中。具体来说,仅使用 Android Studio 集成构建系统 (Gradle),如 here 所述。

1.开始一个新项目

2。将 Tess-Two 导入项目

2b。添加任何需要的插件

3。在主 activity 中添加代码以获取本机功能

4.配置 Android Studio 构建以便本机功能可用

这是需要细节的地方

4.配置 Android Studio 构建以实现本机功能

4a。 Link Gradle

的 C++ 项目

首先,检查 tess-two 项目中的构建文件。您可以 select CMakeLists.txt 或 Android.mk 文件。目前都支持。

在这种情况下,我使用了 ndk-build,这似乎是集成本机代码的一个不错的选择。

有关详细信息,请参阅 Android Studio documentation

4b。管理长命令

在Windows中,如果命令长度过大可能会遇到错误。为防止出现问题,请在 Android.mk 文件中使用 LOCAL_SHORT_COMMANDS AND APP_SHORT_COMMANDS

"e=87" 错误是您通过这样做避免的:

有关该主题的更多信息,请参阅 Whosebug question about error 87

4c。为 tess-two

添加模块依赖

文件>项目结构>依赖项中使用+添加tess-two依赖项:

4d。构建项目并检查 .apk 文件中的 .so 文件

构建需要很长时间,现在应该完成了。验证 .apk 文件是否包含在构建期间创建的 .so 文件。使用静态初始化程序中的 tess-two 库,运行 您的 Android 设备上的项目: