android NDK 開發步驟

NDK開發通常分爲一下幾個步驟:(默認你已經安裝好了NDK和android開發環境)java

1.建立一個項目android

2.建立JNI目錄windows

3.編寫nativejava層方法ui

4.生成JNI頭文件spa

  (1)編寫javaNative代碼
  (2)執行命令javah
  (3)添加android.jar包到環境變量.net

5.建立一個.c文件導入相應的頭文件3d

6.在jni目錄下添加mk文件。orm

7.最後在項目路徑下執行ndk-build命令。blog

8.最後運行代碼就能夠看到結果了。開發

下面是詳細步驟和截圖:

建立一個android項目就不說了。

而後咱們聲明一個native方法

下面咱們在項目下面添加一個jni目錄

 

而後進入cmd控制檯進入當前工做的目錄下面:

而後執行javah命令用來生成.h文件

(其中,D:\android\android_sdk_windows\platforms\android-19\android.jar,
是android sdk目錄下的目錄文件,爲了簡單,能夠把android.jar文件目錄添加到path路徑下;
最後com.example.hellondk_1.MainActivity是包名加類名)

刷新項目能夠看到jni目錄下多了一個.h文件

而後咱們建立一個.c文件用來實現.h文件用定義的方法。

建立一個.c文件導入相應的頭文件
(
如:建立一個hello.c文件
#include<stdio.h>
#include<stdlib.h>
#include"com_example_hellondk_1_MainActivity.h"

JNIEXPORT jstring JNICALL Java_com_example_hellondk_11_MainActivity_getStringFromC
(JNIEnv *env, jclass jclass){

return (*env)->NewStringUTF(env, "Hello from C !....");
}
其中實現了頭文件中的方法Java_com_example_hellondk_11_MainActivity_getStringFromC(JNIEnv *, jclass);
)

 

在jni目錄下添加mk文件。

(這個能夠導入ndk的實例下面的mk文件而後作修改就能夠了)以下
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c

include $(BUILD_SHARED_LIBRARY)
其中,
LOCAL_MODULE 表示編譯生成的so叫什麼名字
LOCAL_SRC_FILES 表示要編譯的.c文件是哪一個

最後在項目路徑下執行ndk-build命令。

執行完以後對項目進行刷新能夠看到項目下面多了一個obj目錄裏面多了一個.so文件。
而後在java文件中添加靜態代碼塊。添加.so文件。

 

最後運行代碼就能夠看到結果了。

這裏若是你用的是genymotion模擬器,那麼須要對genymotion進行配置要安裝一個genymotion arm translation,下載好以後直接拖拽就能夠安裝了。

下載地址:

http://download.csdn.net/detail/u014132820/9044875

相關文章
相關標籤/搜索