美文网首页
Android jni总结二:添加打印信息

Android jni总结二:添加打印信息

作者: 逆风Lee | 来源:发表于2017-12-05 15:35 被阅读0次

      开发过程中增加打印信息是必须的,在jni中printf属于linux应用的打印机制,在androd系统当中没有对应的输出机制,只有在终端下执行时才能回显出来,在jni中正确的打印方式应该是 调用NDK 下的log.h 来打印Log 日志,具体方法如下:

    1.导入log库

    在build.gradle中加入ldLibs "log"

    android {
        defaultConfig {
            ndk{
                ldLibs "log"
            }
        }
    }
    

    加入ldLibs "log"以后,gradle会自动在项目的app/build/intermediates/ndk/debug底下的Android.mk中加入:
    LOCAL_LDLIBS := -llog

    2.导入log头文件

    在.c或者.cpp文件中加入log.h头文件:

    #include<android/log.h>
    

    3.使用

    可以先定义一个log tag:

    #define TAG   "GOODLUCK"
    

    再定义各个等级的log方法:

    •#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__) // 定义LOGD类型  
    
    •#define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__) // 定义LOGI类型  
    
    •#define LOGW(...)  __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__) // 定义LOGW类型  
    
    •#define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__) // 定义LOGE类型  
    
    •#define LOGF(...)  __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__) // 定义LOGF类型  
    

    使用:

    LOGE("jni test");
    LOGE("jni test width = %d",1);
    LOGE("jni test str = %s","test");
    

    加参数的打印类似于printf

    相关文章

      网友评论

          本文标题:Android jni总结二:添加打印信息

          本文链接:https://www.haomeiwen.com/subject/crrcixtx.html