读书人

NDK 惯用到的三个宏精简JNI接口函数

发布时间: 2012-11-26 11:48:50 作者: rapoo

NDK 常用到的三个宏,精简JNI接口函数名称

1.Test.java:

public native void test();

2.Testjni.cpp

#include <jni.h>
#include <android/log.h>

#define LOG_TAG "Testjni.cpp"
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)

//几个常用的宏

#define NAME1(CLZ, FUN) Java_##CLZ##_##FUN
#define NAME2(CLZ, FUN) NAME1(CLZ, FUN)

#define NAME(FUN) NAME2(CLASS, FUN)

extern "C" {
JNIEXPORT void JNICALL NAME(test)(JNIEnv *env, jclass obj, jint bitRate){
LOGE("Test hello world....");
}
}

3.Android.mk

// 追加下面:指明1中Test.java的包名和类名(注:以后包名或类名有更改时,只需要更改下面语句即可)

LOCAL_CFLAGS := -DCLASS=包名_类名

此文参考该开源项目:https://github.com/tewilove/faplayer

读书人网 >移动开发

热点推荐