• android-----JNI中的log打印【转】


    本文转载自:http://blog.csdn.net/zengraoli/article/details/11644815

    1. 导入log头文件

    在你使用的 .c/ .cpp 文件中

    导入 log.h 头文件

     #include<android/log.h>

    2.在Android.mk 中

    加上

    LOCAL_LDLIBS :=-llog

    注意Android.mk里有一行include $(CLEAR_VARS)

    必须把LOCAL_LDLIBS :=-llog放在它后面才有用,

    否则相当于没写。

    3. 定义LOG 函数

    先定义一个全局变量,再定义一些输出的LOG函数:

    [cpp] view plaincopyprint?
     
     
    1. #define TAG "myDemo-jni" // 这个是自定义的LOG的标识   
    2. #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型   
    3. #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__) // 定义LOGI类型   
    4. #define LOGW(...) __android_log_print(ANDROID_LOG_WARN,TAG ,__VA_ARGS__) // 定义LOGW类型   
    5. #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG ,__VA_ARGS__) // 定义LOGE类型   
    6. #define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,TAG ,__VA_ARGS__) // 定义LOGF类型   

    上述代码中定义的函数

    分别对应于Android 的Java代码中的

     Log.d(), Log.i(), Log.w(),Log.e(), Log.f()等方法.

    4.举例

    [cpp] view plaincopyprint?
     
     
    1. #include <jni.h>  
    2. #include <string.h>  
    3. #include <android/log.h>  
    4.   
    5. #define TAG    "myhello-jni-test" // 这个是自定义的LOG的标识  
    6. #define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,TAG,__VA_ARGS__) // 定义LOGD类型  
    7.   
    8.  extern "C" {  
    9.      JNIEXPORT jstring JNICALL Java_com_snail_helloworld_MainActivity_myhello(JNIEnv * env, jobject obj);  
    10.  };  
    11.   
    12.  JNIEXPORT jstring JNICALL Java_com_snail_helloworld_MainActivity_myhello(JNIEnv * env, jobject obj)  
    13.  {  
    14.      int i = 0;  
    15.      LOGD("########## i = %d", i);  
    16.      return env->NewStringUTF("Hello From CPP");  
    17.  }  

    Android.mk

    [cpp] view plaincopyprint?
     
     
    1. LOCAL_PATH := $(call my-dir)  
    2.   
    3. include $(CLEAR_VARS)  
    4.   
    5. LOCAL_MODULE    := hello  
    6. LOCAL_SRC_FILES := hello.cpp  
    7. LOCAL_LDLIBS :=-llog  
    8.   
    9. include $(BUILD_SHARED_LIBRARY)  


     
  • 相关阅读:
    confluence文档添加右侧浮动导航
    关于惊群问题
    stun server list
    linux 相关代码路径备忘。
    test
    Linux Kernel Packet Traveling
    socketio的静态文件路由处理。
    防蓝光镜片
    Less(21)Cookie Injection- Error Based- complex
    Less(20)POST
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/7686482.html
Copyright © 2020-2023  润新知