zoukankan      html  css  js  c++  java
  • 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);
    //该方法需要注意写入的权限.推荐用第一种,第二种用来调试输出文件内容可能比较方便.
    }
    
  • 相关阅读:
    读 《异类》- 作者:[加拿大] 马尔科姆·格拉德威尔 有感
    docker常用操作命令
    MySQL 使用规范
    js 字符串转json对象
    Mybatis 工作原理
    JDBC连接配置
    Java 线程基础
    数组与链表
    Java 内部类
    MySQL 去重
  • 原文地址:https://www.cnblogs.com/fjchenqian/p/2244620.html
Copyright © 2011-2022 走看看