2016-07-22 24 views
2

我有我目前正在建设使用Android.mk文件和NDK建造几个C++项目本机模块。由于这不是很好的调试我想包括这个c + +项目作为模块在我的android studio项目。这个android studio项目目前是一个android java库,它使用了ndk-build中的.so。是否有可能在Android Studio中建立与作为。所以输出

我调试通过创建一个新的Android库模块和进口的C++代码,设置标题和库路径的工作。该模块是这样的:

apply plugin: 'com.android.model.library' 

model { 
    android { 
     compileSdkVersion = 23 
     buildToolsVersion = '23.0.2' 

     defaultConfig { 
      minSdkVersion.apiLevel = 4 
      targetSdkVersion.apiLevel = 23 
     } 
    } 
    android.ndk { 
     moduleName = 'module_name' 
     toolchain = 'gcc' 
     stl "gnustl_static" 
     ldFlags.addAll(["-L/LIB_PATH"]) 
     ldLibs.addAll(["android", "log", "whatever_lib"]) 


     cppFlags.addAll(['-std=c++11', 
         "-I" + "/SEARCH_PATHS"]) 

    } 
    android.productFlavors { 
     create("arm7") { 
      ndk.abiFilters.add("armeabi-v7a") 
     } 
    } 
    android.sources { 
     main { 
      java.source.srcDirs += [] 
      res.source.srcDirs += [] 
      assets.source.srcDirs += [] 
      jniLibs.source.srcDirs += [] 
      jni.source{ 
       srcDirs += [ 
         NATIVE_PROJECT_PATH + "include/", 
         NATIVE_PROJECT_PATH + "src/", 

       ] 
      } 
     } 
    } 
} 

这工作得很好,但我得到的模块/生成/输出/ AAR/libname_release.aar/lib中/ ABI/lib.so这是不是一个好点的。所以,因为我直接需要.so而不需要解压缩。

是否有任何可能的方式让该模块只在给定路径上创建.so并让另一个模块构建并使用它?

回答

相关问题