是否可以使用Android Studio调试本机C代码(ndk构建项目)



我需要在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);
  1. 打开Android Studio
  2. 连接您的设备,并从Studio中"Android"选项卡视图的下拉列表中选择它
  3. 转到shell/terminal/CLI,使用ndk-buildmake或其他工具构建应用程序
  4. 在Studio中设置您常用的logcat过滤器,然后调试

适用于我的最新Studio版本(1.3 RC3)。您不必通过CLI/logcat进行调试。

最新更新