android jni 输出log

我们设置 Jni 调用c的接口,没有办法进行调试,我们可以设置输出log信息来查看,目前有2种方法:

1.	Android 自带的Log类.

在.c的头文件中加入如下代码

#include <android/log.h>

#define LOG_TAG "cqEmbed"

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

在需要调用的函数中输入信息就可以.例如



/*

 * Class:     com_foxit_JniAdapter

 * Method:    DestoryNativeLib

 * Signature: ()V

 */

JNIEXPORT void JNICALL Java_com_foxit_JniAdapter_DestoryNativeLib

  (JNIEnv * env, jclass obj)

{

	LOGI(“hello world=%1$s”,charles);  //其中1$为java的String类的format需要加上的.其他的写法和C语言一致

}

2.	写入文件

/*

 * Class:     com_foxit_JniAdapter

 * Method:    DestoryNativeLib

 * Signature: ()V

 */

JNIEXPORT void JNICALL Java_com_foxit_JniAdapter_DestoryNativeLib

  (JNIEnv * env, jclass obj)

{

//标准C文件读写文件

File* pFile = fopen(“/data/data/com.foxit.reader/files/log.txt”,”a”);

fwrite(“hello”,1,5,pFile);

fclose(pFile);

//该方法需要注意写入的权限.推荐用第一种,第二种用来调试输出文件内容可能比较方便.

}

 

你可能感兴趣的:(android)