Android_NDK调试

第一步:

链接log动态库

在Android.mk文件中添加

LOCAL_LDLIBS +=-llog

注意:一定要在

复制代码
include $(BUILD_SHARED_LIBRARY)

之上添加,因为当执行到这句话的时候就表示所有的lib动态库已经加载完毕了,所以当你在这句代码之后再添加链接动态库的命令时,动态库是加载不成功的,当执行ndk-build时,会报链接不到动态库的错误

第二步:

在对应的CPP文件中添加

复制代码
#include <android/log.h>

第三步:

在CPP文件中使用__android_log_print函数打印日志

该函数有三个参数,第一个为打印日志的类型取值有:

ANDROID_LOG_DEFAULT,

ANDROID_LOG_VERBOSE,

ANDROID_LOG_DEBUG,

ANDROID_LOG_INFO,

ANDROID_LOG_WARN,

ANDROID_LOG_ERROR,

ANDROID_LOG_FATAL,

ANDROID_LOG_SILENT

第二个为自定义的日志的Tag

第三个为可变参数,输出的日志信息

建议定义宏使用,如下:

#ifndef LOG_TAG

#define LOG_TAG "my_tag"

#define LOGINFO(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,VA_ARGS)

#define LOGERR(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,VA_ARGS)

Char* str = "my info";

LOGINFO("配置信息:%s", str);

第四步:

重新ndk-build一下CPP程序

第五步:

重新Refresh Linked C++ projects

相关推荐
csj501 小时前
安卓基础之《(28)—Service组件》
android
lhbian3 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop4 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO4 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊5 小时前
leetcode 142
android·java·leetcode
angerdream5 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
菠萝地亚狂想曲5 小时前
Zephyr_01, environment
android·java·javascript
sTone873756 小时前
跨端框架通信机制全解析:从 URL Schema 到 JSI 到 Platform Channel
android·前端
sTone873756 小时前
Java 注解完全指南:从 "这是什么" 到 "自己写一个"
android·前端
catoop6 小时前
Kotlin 协程在 Android 开发中的应用:定义、优势与对比
android·kotlin