当前位置: 代码迷 >> Android >> Android studio开展NDK开发
  详细解决方案

Android studio开展NDK开发

热度:7   发布时间:2016-04-27 23:35:27.0
Android studio进行NDK开发

1、先在src/main/目录下新建jni目录



2、这里偷个懒,直接从其他工程中拷贝Android.mk,Application.mk,demo.cpp到jni目录下

  在Application.mk文件中,配置如下:

APP_ABI := armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64
APP_PLATFORM := android-7 


3、在local.properties文件中配置:ndk.dir=D\:\\android\\Androidstudio\\ndk\\android-ndk-r10e


4、在build.gradle文件中Android节点中的defaultConfig节点中下配置如下:

android {    compileSdkVersion 22    buildToolsVersion "22.0.1"    defaultConfig {        applicationId "com.ycy.ndkdemo"        minSdkVersion 14        targetSdkVersion 22        versionCode 1        versionName "1.0"        ndk {            moduleName "demo"            ldLibs "log", "z", "m"            abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64", "mips", "mips64"        }    }}

5、通过以上配置基本OK,然后可以在Java中调用了。

ps:这种通过c++源码方式调用native的,最终编译后生成的.so文件在app\build\intermediates\ndk\debug\lib



=================================================================================================


接下来介绍第二种调用c++的方式


1、这种方式是在so库已有的基础上的,直接将各个cpu平台上的so库文件放在src/main/jniLibs目录下(新建jniLibs目录)



2、在build.gradle文件中的Android节点中配置:

    sourceSets {        main { java.srcDirs = ['src/main/java', 'src/main/jniLibs'] }    }

通过以上配置基本OK,然后可以尽情调用了。


最后补一句,这两种方式只能选择一种,不能两种一起用,否则会冲突的。


版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案