最近在mac上编译android 版本,各种崩溃让人蛋疼,网上学习了下ndk-stack使用方法。

自己备忘下:

1.运行终端。跳转到你android sdk 目录 因为你的adb 在里面。

如 cd /Users/name/Android/adt-bundle-mac-x86_64-20131030/sdk/platform-tools

2、找了路径正确继续下一步,./adb logcat | 你android ndk-stack所在的路径 -sym /你安卓工程.so文件所在的目录

./adb logcat | /Users/name/Android/android-ndk-r8e/ndk-stack -sym /Users/name/test/proj.android/obj/local/armeabi

3、正确配置后会在终端出现

- waiting for device -

4、AndroidManifest.xml 设置 Debuggable 为true 在Application 切页中

5、另外启动一个终端 编译android工程

6、ADT连接设备运行你的工程就行了,出现崩溃的话会在你前面配置的终端里面打印出来。

********** Crash dump: **********

Build fingerprint: 'Xiaomi/aries/aries:4.1.1/JRO03L/JLB29.0:user/release-keys'

pid: 6546, tid: 6575, name: Thread-9654 >>> com.cocos2dx.SanGo <<<

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad

Stack frame #00 pc 00013a78 /system/lib/libc.so

Stack frame #01 pc 00015e55 /system/lib/libc.so (dlfree+1628)

Stack frame #02 pc 00017003 /system/lib/libc.so (free+10)

Stack frame #03 pc 004965e8 /data/data/com.cocos2dx.test/lib/libgame.so (cocos2d::CCImage::~CCImage()+88): Routine __static_initialization_and_destruction_0 in /Users/name/Sango_Android/test/libs/cocos2dx/platform/android/CCApplication.cpp:127

Stack frame #04 pc 0049664c /data/data/com.cocos2dx.teset/lib/libgame.so (cocos2d::CCImage::~CCImage()+20): Routine CCLog in /Users/name/test/libs/cocos2dx/platform/android/CCCommon.cpp:36

重要的就是 cpp 行号。为我们定位崩溃地点很有作用,再结合程序的打印输出位置,就能很快定位问题了。

更多相关文章

  1. Android(安卓)对程序异常崩溃的捕捉
  2. android studio在终端执行gradlew命令,报无效的环境
  3. JS判断浏览器打开终端
  4. android 自动化测试 monkey
  5. js判断运行平台
  6. JS判断当前环境为微信,手机判断浏览器类型
  7. android 应用异常可以引起android系统崩溃重启
  8. Mac配置Android环境 adb
  9. 手动root android 模拟器(emulator)详细过程

随机推荐

  1. 详解Android使用@hide的API的方法
  2. Android(安卓)Studio混淆模板及常用第三
  3. Android内存信息
  4. android command
  5. Mac下Android(安卓)Studio中获取SHA1和MD
  6. 实现 Android(安卓)通知提示功能
  7. android camera(一):camera模组CMM介绍
  8. Become a better android developer(转载
  9. Android实现多层级Spinner列表选项实时更
  10. Android触摸事件的分发、拦截、处理