hello world (android studio DNK )

开发环境 android studio

目标:开发一个ndk的hello world

1、环境准备:

下载android ndk并解压

2、创建android项目 NDKTest01

新建java类JNIUnit 

增加方法

public class JNIUnit {
    public static native String getStringFormC();
}
Clear Project

Rebuild Project

3、生成头文件

cd app/build/intermediates/classes/debug/

javah -jni com.nndou.yy.ndktest01.JNIUnit

生成文件 com_nndou_yy_ndktest02_JNIUnit.h

在src下创建文件夹 jni

拷贝 com_nndou_yy_ndktest02_JNIUnit.h 文件到jin目录下

4、增加 test.c文件,内容为:


#include "com_nndou_yy_ndktest02_JNIUnit.h"

JNIEXPORT jstring JNICALL Java_com_nndou_yy_ndktest01_JNIUnit_getStringFormC(JNIEnv *env, jobject obj)
{
    return (*env)->NewStringUTF(env,"这里是来自c的string");
}
5、配置文件修改

在 file ->project structure 中增加 ndk的路径

或者在local.properties 中增加ndk路径


在 gradle.preperties 中增加

android.useDeprecatedNdk=true

修改build.gradle

在 defaultConfig 节增加如下配置

ndk {
    moduleName "NdkJniDemo"          //生成的so名字
    abiFilters "armeabi", "armeabi-v7a", "x86"
}

6、在JNIUtile类中增加so引用

static {
    System.loadLibrary("NdkJniDemo");
}

重新编译项目,如果没有问题,就可以在代码中调用 JNIUtile.getStringFromC()方法。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章