[Mac] Android 如何分析 Native Crash

0、系统环境
Mac OSX 10.11.6
Eclipse for Android 4.6.0
Android SDK v21
Android NDK r12d

1、环境安装
本文默认您已经安装了 Android SDK 和 NDK 开发包,其中安装目录分别为 ANDROID_SDK_PATH 与 ANDROID_NDK_PATH。

1)安装 ADB 工具(如已安装请跳到下一步):
检查你是否安装了 ADB 工具。打开 Window -> Android SDK Manager 安装 Android SDK Tools 和 Android Platform Tools:
41CAB727-ACA5-480E-8EDB-2BC18BF8DA67

2)配置 ADB 工具:
在命令行运行:

注意其中 ANDROID_SDK_PATH 是你实际安装 Android SDK 的位置。

在命令行运行如下命令测试安装:

如果显示类似如下:

则说明配置正确。

3)配置 ndk-stack 工具:
在命令行运行:

注意其中 ANDROID_NDK_PATH 是你实际安装 Android NDK 的位置。

2、操作步骤
1)当遇到崩溃时使用 ADB 工具保存崩溃日志:

其中 ANDROID_CRASHLOG_PATH 是你打算保存 Crash Log 的路径。

2)运行 ndk-stack 工具进行分析:

其中 ANDROID_PROJECT_PATH 是你的 Android 工程目录,通常 ANDROID_PROJECT_PATH/libs/armeabi-v7a/ 或者 armabi 等路径保存了你的 native 库。第一个参数就是需要这个地址。

另外,有时候可能由于没有保存符号表等原因,这里定位不出来,则应该改成你编译你的 native 库的工程下 obj/local/armeabi-v7a 这类的路径。

如果一切运行正常,找到崩溃日志如下所示:

接下来就根据这个日志来分析你崩溃的原因吧!

常见问题:
1)找不到 Android SDK Manager:
解决方法:Window -> Perspective -> Open Perspective 选 Java,然后就可以找到了。

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注