ROOT_PATH := $(call my-dir)
如下是你 breakpad 项目的路径,直接引用其中的 Android.mk 编译,此步骤编译产物是一个静态库,名字为 breakpad_client,这是官方代码,我们没做任何修改哦。
include $(ROOT_PATH)/third-breakpad/android/google_breakpad/Android.mk
LOCAL_PATH := $(ROOT_PATH)
include $(CLEAR_VARS)
我们项目中对其包装的 jni 层 so 名字
LOCAL_MODULE := native-crash
我们项目中对其包装的 jni 层代码
LOCAL_SRC_FILES := NativeHandler.cpp
我们项目中链接 breakpad 项目静态产物
LOCAL_STATIC_LIBRARIES += breakpad_client
include $(BUILD_SHARED_LIBRARY)
-
如上一把梭就完成了,没啥难度,然后 java 层直接使用即可,如上你要看不懂就自己去学习下 C 编译原理及 NDK 相关基础吧。
-
当然是不要脸的附上我的 demo 地址https://github.com/yanbober/android-crash/tree/master/native-crash-core,很不幸的是这个项目夭折了,不过 native 捕获这块没啥大问题。
- 如果你想用 CMake,那更不用我说了,直接就是把上面这些 mk 翻译下就行,怎么翻译成
CMakeLists.txt
我就不扯蛋了。
【工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果。+微信 codedeveloper 联系我】
============================