1、在jni文件夹里的hello.c文件加上头文件

#include <jni.h>
#include <android/log.h>
#define LOG_TAG "System.out"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

2、调用java里的方法

JNIEXPORT void JNICALL Java_com_itheima_ccalljava_MainActivity_logFromC
(JNIEnv * env, jobject obj){
LOGD("hello!");
LOGI("hello!");
}

3、在Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_LDLIBS += -llog
#编译生成的文件的类库叫什么名字
LOCAL_MODULE := monitor
#要编译的c文件
LOCAL_SRC_FILES := Monitor.c

include $(BUILD_SHARED_LIBRARY)

4、java页面

/**
* @描述 TODO
* @项目名称 App_imooc
* @包名 com.android.imooc.jni
* @类名 JniActivity
* @author chenlin
* @date 2013年5月24日 上午6:58:39
* @version 1.0
*/

public class JniActivity extends Activity {
private EditText mEtPwd;

static{
//加载类库
System.loadLibrary("hello");
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_jni);

mEtPwd = (EditText) findViewById(R.id.et_pwd);

Log.i("tag", helloFromC());
}

public void log(View view){
logFromC();
}

public native String logFromC();


}