1:生成jni目錄java
首先說一句網上,大部分博客這麼寫的:打開控制檯,進入項目目錄,運行
javah -classpath bin/classes -d jni com.example.hellojni.MainAcitivityandroid
我只想問一句,這些代碼您親自運行成功了嗎?您這麼寫出來責任心何在?windows
這麼寫你會遇到這個錯誤。ui
實際上能夠這麼寫:spa
1: javah -classpath src -d jni com.itg.jni.ImageBlur3d
或寫入android.jar的路徑直接執行code
2:javah -classpath C:\project\Android\adt-bundle-windows-x86_64-20131030\sdk\platforms\android-22\android.jar;bin/classes -d jni com.itg.jni.ImageBlurorm
而後你會在項目中獲得jni文件夾及.h的文件blog
而後編寫C文件。圖片
3:右鍵jni文件 添加Android.mk文件
寫入配置
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := JNI_ImageBlur
LOCAL_SRC_FILES := com_itg_jni_ImageBlur.cpp
LOCAL_LDLIBS := -ljnigraphics -llog
include $(BUILD_SHARED_LIBRARY)
LOCAL_LDLIBS := -ljnigraphics -llog 這一句若是沒用到BitMap不要添加。
個人需求是,操做圖片 若是沒有這句彙報
在編譯jni的cpp文件時出現:
2 下載NDK(Native Development Kit)
2:選中要生成so 文件的項目選擇Property-->Builders-->New
設置Location,添加 ndk-build.cmd
設置working Directory 選擇項目中jni目錄
設置build Options
勾選如圖所示
設置Specify Resources,直接選擇jni文件夾便可。完畢,保存,ecplice會自動在armeabi文件夾下生成so文件