C++里面
1.
Android.bp文件
shared_libs: [
"libbacktrace",
"libutilscallstack",
]
如果是Android.mk文件,添加
LOCAL_SHARED_LIBRARIES += libcutils libutils
2. Native层的头文件上添加
#include<utils/CallStack.h>
3. 在需要dump的位置添加:
android::CallStack stack("Debug info");
在P版本上发现,打印C++堆栈,
出现undefined reference to 'android::CallStack::CallStack()
没有lib库。
解决方法:
添加
LOCAL_SHARED_LIBRARIES := \
libutilscallstack\
P版本的callstack依赖库从libutils \改到libutilscallstack\中了。
{
在需要导包的地方加入
#include <utils/CallStack.h>
android::CallStack stack;
}
{
在需要添加log的地方加入
stack.update();
stack.log("log_tag");
}
{
Android.mk里面添加
LOCAL_SHARED_LIBRARIES := \
libutilscallstack\
libcutils \
libutils\
}
JAVA里面
1. Java打印调用堆栈
Log.d(TAG,Log.getStackTraceString(new Throwable()));