Android JNI调试需要永远

时间:2012-02-24 22:16:18

标签: android android-ndk java-native-interface

我正在使用Eclipse + gdbserver + ndk7。似乎通过本机代码(由Java调用)进行调试需要花费很长时间才能完成(每步约20秒),可能会导致什么?这是正常行为吗?

1 个答案:

答案 0 :(得分:0)

您可以使用日志记录进行调试。请看这个link

  • 将log.h文件包含在Android NDK源文件中

     #include <android/log.h>
    
  • 将以下行添加到Android.mk制作文件中。

     LOCAL_LDLIBS := -llog
    

现在您可以开始记录,这两个步骤允许您从Android NDK在Eclipse中编写日志。在Android NDK代码中写下面的行,日志将出现在Eclipse

     __android_log_write(ANDROID_LOG_ERROR,"Tag","Message");

使用以下标志在您想要的列中写入日志。

typedef enum android_LogPriority {
    ANDROID_LOG_UNKNOWN = 0,
    ANDROID_LOG_DEFAULT,    /* only for SetMinPriority() */
    ANDROID_LOG_VERBOSE,
    ANDROID_LOG_DEBUG,
    ANDROID_LOG_INFO,
    ANDROID_LOG_WARN,
    ANDROID_LOG_ERROR,
    ANDROID_LOG_FATAL,
    ANDROID_LOG_SILENT,     /* only for SetMinPriority(); must be last */
} android_LogPriority

例如,如果要在“信息”列中书写,则必须编写

     __android_log_write(ANDROID_LOG_INFO,"Tag","Message");