我需要在Android平台上调试本机C代码(ndk-build)。
有可能在Android Studio中调试它吗?如果有,我该怎么做?
在您的C源代码中,您可以使用以下函数添加日志:
__android_log_print(ANDROID_LOG_INFO, "MyTag", "The value is %d", some_variable);
需要这样定义:
#define <android/log.h>
日志将在Android设备的LogCat中打印。
您没有像在Android应用程序中那样的"逐步"调试器。
作为LaurentY响应,在头文件中,您可以定义一些日志,如下所示:
#define <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
在.c/.cpp代码中,您将TAG设置为:
#define LOG_TAG "sample.cpp"
并使用调用日志
LOGI("Yes!!, %s, %s", some, some2);
- 打开Android Studio
- 连接您的设备,并从Studio中"Android"选项卡视图的下拉列表中选择它
- 转到shell/terminal/CLI,使用
ndk-build
、make
或其他工具构建应用程序 - 在Studio中设置您常用的logcat过滤器,然后调试
适用于我的最新Studio版本(1.3 RC3)。您不必通过CLI/logcat进行调试。