Android 下 JNI 開發(fā)

07_NDK 簡便開發(fā)流程-22

 

1. 關(guān)聯(lián)NDK: Window -> Preferences -> Android -> NDK

2. 創(chuàng)建Android工程:SimpleJNIDemo, 聲明native方法.

3. 設(shè)置函數(shù)庫名字: 右鍵工程 -> Android Tools -> App Native support

4. 使用javah生成.h的頭文件, 并把.h文件拷貝到工程下jni文件夾中.

5. c代碼提示: 右鍵工程 -> Properties -> C/C++ General -> ?Path and Symbols

// Includes -> Add -> File system 選中以下路徑.

?platforms\android-18\arch-arm\usr\include

如圖:

6.#include "com_atguigu_simplejnidemo_MainActivity.h"

7. 把后綴名.cpp改成.c, 實(shí)現(xiàn)native方法.

8. java代碼中加載動(dòng)態(tài)庫, 調(diào)用native方法.

9.演示自動(dòng)編譯和直接運(yùn)行

 

 

 

編譯通過講解 Android.mk

講解 native代碼生成的so文件存放在手機(jī)的哪個(gè)目錄

 

#include <string.h>

#include <jni.h>

 

jstring Java_cn_atguigu_ndk_DemoActivity_helloFromJNI(JNIEnv *env, jobject javaThis) {

 

??return (*env)->NewStringUTF(env, "Hello from native code!");

 

}

 

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Here we give our module name and source file(s)

LOCAL_MODULE ???:= Hello

LOCAL_SRC_FILES := Hello.c

 

include $(BUILD_SHARED_LIBRARY)

 

 

 

本教程由尚硅谷教育大數(shù)據(jù)研究院出品,如需轉(zhuǎn)載請(qǐng)注明來源,歡迎大家關(guān)注尚硅谷公眾號(hào)(atguigu)了解更多。