您的位置:首页 > 移动开发 > Android开发

Android studio进行NDK开发

2015-08-06 13:35 507 查看
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,然后可以尽情调用了。

最后补一句,这两种方式只能选择一种,不能两种一起用,否则会冲突的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: