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

 

链接 : http://www.cnblogs.com/fjchenqian/archive/2011/11/10/2244620.html

posted @ 2014-03-18 00:40  MMLoveMeMM  阅读(1153)  评论(0编辑  收藏  举报