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文件