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()方法。



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