Android Studio Ndk 编程

现在开发Android程序基本都已经从Eclipse转到了Android Studio了, 近期项目需求, 需要用到ndk编程, 因而就折腾了一下。java

开发环境

  • Android Studio 1.5.1
  • android-ndk-r10e
  • gradle 2.8

首先咱们新建一个project叫作NdkDemo, 建立后的project文件夹结构例如如下android

这里写图片描写叙述

而后咱们打开gradle.properties文件, 在文件的尾端写一句。 假设没有写这一句会编译不经过编程

android.useDeprecatedNdk=true

接着配置ndk路径, 点击左上角File而后选择Project Structure(或者直接点击红框标注的那个button)进入配置界面, 而后在红框内配置下载好的ndk路径就能够。bash

这里写图片描写叙述

这里写图片描写叙述

到此,配置工做就全部完毕。 如下进行开发相关的工做。markdown


相信在Eclipse进行ndk编程过的同窗都知道咱们要去编写Android.mk, 但是在Android Studio是全然不用咱们去编写的, 咱们仅仅需要在gradle下写几个简单的语句。 Studio就会本身主动帮咱们写好Android.mk,很方便。app

defaultConfig {
        ...

        ndk{
            moduleName "ndk-demo"       //要引用module的名字
            ldLibs "log"                //引用库的名字(选填)
            abiFilters "armeabi"        //配置需要编译出那些版本号的so库(假设不写,就编译出全部版本号的so库)
        }
    }

以上就是app文件夹的build.gradle的配置, 仅仅需要在defaultConfig 节点下写入ndk相关的配置就可以了。函数

接着咱们新建一个Comman类, 写一个本地函数, System.loadLibrary的參数填的就是刚才在build.gradle配置的moduleName工具

public class Command {
    public static native String getStringFromC();

    static{
        System.loadLibrary("ndk-demo");
    }
}

而后咱们右键app文件夹, 选择新建一个jni文件夹
这里写图片描写叙述post

点击下方的控制台Tab。 输入一下命令, 就会发现奇妙的在jni文件夹下会本身主动生成相关的.h文件gradle

这里写图片描写叙述

这里写图片描写叙述

解释一下两句命令行的意思。第一句意思是进入到app/src/main/java文件夹下。第二句中, javah是jdk一个生成头文件的工具。 -d ../jni 表示生成的文件要放到上一层文件夹的jni文件夹下。 com.zwf.ndkdemo.ndk.Command就是刚才咱们写的Command的全路径。

有了头文件咱们就可以開始编写相关的c文件了, 在jni文件夹下新建一个c文件跟刚才的头文件名称字同样。 写入相关的功能。

这里写图片描写叙述

点击执行, 成功!

这里写图片描写叙述

那么。 咱们生成的so库在哪里找呢。

这里写图片描写叙述

完毕!

Demo源代码

相关文章
相关标签/搜索