如何将本地c ++共享库.so导入Android studio 1.5?

时间:2015-11-26 04:21:09

标签: android c++ android-studio android-ndk android-gradle

我有一个简单的问题,但非常具体。

我在一个c ++项目(非android)中构建了一个共享库。所以我将其用于其他项目。

我现在想用它来开发Android NDK的Android应用程序。在/ app / src / main / jni文件夹中,我有cpp文件,我想使用我的库的功能。这里是.cpp文件的内容

#include <string.h>
#include <jni.h>
#include <mysharedlibrary.h>

jstring
Java_com_example_nativeapp_MyActivity_stringFromJNI( JNIEnv* env,
                                                jobject thiz ) {

      ObjectFromSharedLibrary obj;
      functionFromSharedLibrary(obj);
      ...

}

但我真的不知道该怎么做。我花了最后两天寻找答案,但我什么都没发现

这是我的环境:

  1. OS Linux Ubuntu 14.04 LTS
  2. Android studio 1.5
  3. Gradle 2.8
  4. my .so位于/ usr / local / lib和* .h in / usr / local / include / mysharedlibraryname /
  5. 我想知道它是否可行以及如何从头开始正确地进行。

    提前致谢

1 个答案:

答案 0 :(得分:2)

首先使用eclipse构建.so共享库。现在使用gradle 0.7.2+在Android Studio中添加生成的* .so文件。首先在此位置/ app / src / main / location创建jniLibs,然后在jniLibs中复制带有* .so文件(armeabi,armeabi-v7a,mips,x86)的所有文件夹。如此Link

所示