jni first study

#include

#include

#include

#define  TAG    "这里填写日志的TAG"

// 定义info信息

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG,__VA_ARGS__)

// 定义debug信息

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG, __VA_ARGS__)

// 定义error信息

#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG,__VA_ARGS__)

extern "C" {

JNIEXPORT jstring JNICALL

    Java_jason_jp_client_MainActivity_stringFromJNI(

JNIEnv* env,

jobject /* this */) {

std::string hello ="Hello from C++";

return env->NewStringUTF(hello.c_str());

}

jint JNI_OnLoad(JavaVM* vm,void* reserved){

LOGE("first ");

LOGE("systeme ");

}

}

Z  boolean  

B  byte  

C  char  

S  short  

I  int  

J  long  

F  float  

D  double  

L fully-qualified-class ;  fully-qualified-class

void initClassHelper(JNIEnv *env,const char *path)

{

jclass  cls = (jclass)  env->NewGlobalRef(env->FindClass("java/lang/System"));

//  jclass cls = env->FindClass(path);

    LOGE("initClassHelper%d",1);

if(!cls) {

return;

}

LOGE("initClassHelper%d",2);

jmethodID constr = env->GetStaticMethodID(cls,"exit","(I)V");

if(!constr) {

return;

}

LOGE("initClassHelper%d",3);

env->CallStaticVoidMethod(cls,constr,0);

LOGE("initClassHelper%d",4);

}

你可能感兴趣的:(jni first study)