NDK开发入门

第一章、生成JNI的.h文件

1、新建android工程HelloNDK,新建包com.hteng.ndk.hello,在包下编写HelloManager.java类,定义本地getHelloString()方法;

public nativeString getHelloString();

2、 将HelloManager.java类拷到E盘根目录,打开cmd命令行窗口,切换到E盘根目录,指令一生成class文件,指令二生成C语言JNI的.h文件;

E:\>java com.hteng.ndk.hello.HelloManager

E:\>javah com.hteng.ndk.hello.HelloManager

第二章、实现头文件相关业务逻辑

1、在HelloNDK的main目录底下新建jni文件夹,拷贝com_hteng_ndk_hello_HelloManager.h到该目录;

2、在jni新建Hello.c文件,内容如下:

#include<studio.h>

#include<stdlib.h>

#include<jni.h>

#include”com_hteng_ndk_hello_HelloManager.h”

JNIEXPORT jstring JNICALL Java_com_hteng_ndk_hello_HelloManager_getHelloString

(JNIEnv * env, jobject clazz){

return (*env)->NewStringUTF(env,”hello NDK”);

}

第三章、配置NDK参数

1、修改build.gradle文件,新增NDK配置内容

applyplugin:’com.android.application’

android {

compileSdkVersion15

buildToolsVersion”23.0.3″

defaultConfig {

applicationId”com.hteng.ndk.hello”

minSdkVersion15

targetSdkVersion19

versionCode1

versionName”1.0″

ndk {

moduleName”hello-world”

}

}

buildTypes {

release {

minifyEnabledfalse

proguardFiles getDefaultProguardFile(‘proguard-android.txt’),’proguard-rules.pro’

}

}

}

dependencies {

compile fileTree(include: [‘*.jar’], dir:’libs’)

testCompile’junit:junit:4.12′

}

2、修改gradle.properties文件,新增NDK配置

android.useDeprecatedNdk=true

3、修改local.properties文件,增加NDK路径配置

ndk.dir=E\:\\android-soft\\android-ndk-r10e

第四章、调用NDK方法

1、载入so库文件

static {

System.loadLibrary(“hello-world”);

}

2、调用so库文件native方法

HelloManager.getInstance().getHelloString()

源码下载

    原文作者:Jimmy5Zhang
    原文地址: https://www.jianshu.com/p/4bde6d453ecb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞