【发布时间】:2011-06-08 08:33:54
【问题描述】:
背景
我正在为 android 编写应用程序,在 Windows 中使用 Eclipse。我正在 JAVA 中实现 C 代码,为此我正在使用 JNI 。我有很多函数,我的问题是我想在 JNI 中调试函数。
问题
我可以调试我用 C 语言用 JNI 编写的代码吗?
【问题讨论】:
标签: android eclipse debugging java-native-interface
我正在为 android 编写应用程序,在 Windows 中使用 Eclipse。我正在 JAVA 中实现 C 代码,为此我正在使用 JNI 。我有很多函数,我的问题是我想在 JNI 中调试函数。
我可以调试我用 C 语言用 JNI 编写的代码吗?
【问题讨论】:
标签: android eclipse debugging java-native-interface
这里是答案How to start logging for Android NDK!
几周前,我一直在研究如何在 Eclipse 中使用 Android NDK 代码编写日志。我在网上找了一些例子,想和大家分享一下。按照以下步骤,您可以开始登录 Eclipse。
将 log.h 文件包含到您的 Android NDK 源文件中
#include <android/log.h>
将下面的行添加到您的 Android.mk make 文件中。
LOCAL_LDLIBS := -llog
现在您可以开始记录了,这两个步骤允许您在 Eclipse 中从 Android NDK 编写日志。在您的 Android NDK 代码中写入以下行,日志将 bw 出现在 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");
那么,祝你好运!
【讨论】: