码迷,mamicode.com
首页 > 移动开发 > 详细

Android studio进行NDK开发

时间:2015-08-06 15:10:43      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

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,然后可以尽情调用了。


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


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

Android studio进行NDK开发

标签:

原文地址:http://blog.csdn.net/y_chengyong/article/details/47315197

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!