使用Android Studio的gradle build

时间:2016-12-15 00:22:38

标签: android-ndk java-native-interface android-gradle android-studio-2.2 tess-two

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

  

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

调用本机库中的函数

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

1。开始一个新项目

starting a new Android Studio project with C++ support

2。将Tess-Two导入项目

import tess-two as a module in the new project

2B。添加任何所需的插件

add to tess-two build.gradle to pull required plug-ins

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

static import of tess-two native files

4。配置 Android Studio 版本,以便可以使用本机功能

这是需要具体细节的地方

1 个答案:

答案 0 :(得分:5)

<强> 4。为本机功能配置 Android Studio 构建

<强> 4A。使用Gradle链接C ++项目

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

checking project build config files

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

Linking C++ project

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

<强> 4b中。管理长命令

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

Adding attributes that reduce command length

&#34; e = 87&#34;错误是你通过这样做避免的:

The parameter is incorrect error 87 message

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

<强> 4c中。添加模块依赖性为tess-two

文件&gt;项目结构&gt;依赖使用 + 添加tess-two依赖项:

add tess-two as a dependency

<强> 4d上。构建项目并检查.so文件的.ap文件

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

apk file with tess-two .so files and running test app