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);
//该方法需要注意写入的权限.推荐用第一种,第二种用来调试输出文件内容可能比较方便.
}

 

posted @ 2011-11-10 16:29  学海拾贝  阅读(5273)  评论(0编辑  收藏  举报