Ubuntu编译Breakpad和Android集成breakpad笔记

Breakpad——Google出品的崩溃异常捕获和报告组件,详情:https://github.com/google/breakpad
在Android中,用来捕获native层的崩溃异常,很方便。
如果读者你只是在寻找一款成熟可用的native崩溃异常捕获产品,腾讯Bugly的异常上报功能已经做得很好了,可以不用往下看了。
Ubuntu编译Breakpad和Android集成breakpad笔记_第1张图片
这里主要记录下学习过程。主要分为两个步骤:
1、编译pc上用的解析Android记录的dmp文件的minidump_tracewalk工具;
2、Android集成breakpad,用于记录本地的native崩溃,生成可分析的.dmp文件。

1、Ubuntu编译breakpad

编译过程比较简单,主要参考上面github链接中的README.md,可能需要科学上网,这里不表。
1、如果按教程,运行fetch breakpad没有反应或失败,可以直接git clone上面的工程。

git clone https://github.com/google/breakpad.git
cd breakpad
./configure
#make的-jN参数视电脑的cpu核数而定,一般N可以核数*2
make -j4

2、如果遇到third_party/ssl/linux_syscall_support.h 缺失的问题,下载一个放入third_party/ssl/目录即可。链接:https://chromium.googlesource.com/linux-syscall-support/+/refs/heads/master

编译完成后,在breakpad目录/src/processor目录下就会有我们后面要用到的minidump_tracewalk工具。

2、Android集成breakpad

这一部分,可以参考breakpad目录/android目录。将源码拷贝到Android工程jni目录,breakpad/android/google_breakpad/Android.mk是现成的ndk-build文件,也可以自行按需求转换为CMakeList版本,然后参考android目录的调用方法进行开发。

Android示例:https://github.com/ChinaStyle812/Breakpad-demo/tree/master

你可能感兴趣的:(Android开发)