4

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

使用 Android Studio 2.2 及更高版本,您可以使用 NDK 将 C 和 C++ 代码编译为原生库,并使用 IDE 的集成构建系统 Gradle 将其打包到您的 APK 中。然后,您的 Java 代码可以通过 Java 本机接口 (JNI) 调用本机库中的函数

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

1.开始一个新项目

启动一个支持 C++ 的新 Android Studio 项目

2.将Tess-Two导入项目

将 tess-two 作为新项目中的模块导入

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

添加到 tess-two build.gradle 以拉取所需的插件

3.在主Activity中添加代码,获取原生功能

tess-two 原生文件的静态导入

4. 配置Android Studio构建,使原生功能可用

这是需要细节的地方

4

1 回答 1

6

4. 为原生功能配置Android Studio构建

4a。将 C++ 项目与 Gradle 链接

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

检查项目构建配置文件

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

链接 C++ 项目

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

4b。管理长命令

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

添加减少命令长度的属性

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

参数不正确错误87信息

有关该主题的更多信息,请参阅有关错误 87 的 stackoverflow 问题

4c。为 tess-two 添加模块依赖

File > Project Structure > Dependencies中使用+添加tess-two依赖项:

添加 tess-two 作为依赖项

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

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

带有 tess-two .so 文件并运行测试应用程序的 apk 文件

于 2016-12-16T02:44:23.307 回答