关于如何实现JNI请参考 Android JNI实现步骤
本例想测试一下,绕过硬件抽象层,直接在JNI中调用linux驱动程序。JNI的库有java应用程序加载,也就是本例直接是java应用程序通过JNI调用C程序,再通过C程序直接调用linux驱动程序。
#include "com_zhang_jni_test_JNITESTActivity.h"
#include <utils/Log.h>
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#define LOG_TAG "JNI_C"
#define DEVICE_NAME "/dev/hello"
int callDriver();
/*
* Class: com_zhang_jni_test_JNITESTActivity
* Method: nativeMethod
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_com_zhang_jni_test_JNITESTActivity_nativeMethod
(JNIEnv *env, jobject obj)
{
LOGI("JNI IN nativeMethod");
jclass cls=(*env)->GetObjectClass(env,obj);
static jmethodID mid = NULL;