當前位置:編程學習大全網 - 源碼下載 - 用jni在代碼中怎樣實現java層調c的源碼

用jni在代碼中怎樣實現java層調c的源碼

步驟壹:

在java中定義壹個c方法的接口 ,相當於在java代碼中定義了壹個接口 接口的實現方法是C語言實現的。

public native String hello();

步驟二:

實現C代碼

方法名 嚴格按照jni的規範

#include <stdio.h>

#include <jni.h>

jstring Java_com_yys_helloworldformc_MainActivity_hello(JNIEnv* env,jobject obj){

// 2 步 實現C代碼

// 返回壹個java String 類型的字符串

//jstring (*NewStringUTF)(JNIEnv*, const char*);

//(*env) 相當於 JNINativeInterface* JNIEnv

//*(*env) 相當於 JNINativeInterface

///return (**env).NewStringUTF(env,"helloworldfromc");

return (*env)->NewStringUTF(env,"helloworldfromc");

}

步驟三:

創建android.mk 告訴編譯器 如何把c代碼打包成函數庫

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# 對應打包成函數庫的名字

LOCAL_MODULE := hello

# 對應c代碼的文件

LOCAL_SRC_FILES := Hello.c

include $(BUILD_SHARED_LIBRARY)

步驟四:

把c代碼 打包成函數庫 用到了安裝的環境 到相應目錄下使用ndk-build打包

5

步驟五:

在java代碼中 引入庫函數

static{

System.loadLibrary("hello");// 註意事項 去掉前面的lib 後面的.so

}

  • 上一篇:不同基礎的人該如何學Java?調研匯總
  • 下一篇:樂視電視s40怎麽音頻輸出?
  • copyright 2024編程學習大全網