android so readelf.exe,android ndk中的工具使用
1. 动态so处理:
arm-linux-androideabi-readelf.exe -a XX.so > xx.txt输出所有函数
arm-linux-androideabi-objdump.exe -dx XX.so > xx.txt反汇编so包,此时使用 $(JNI_PROJ_PATH)/obj\local\armeabi下面带符号表的so包。JNI_PROJ_PATH为编译so包时jni文件夹的根目录
2. 静态a处理:
arm-linux-androideabi-ar.exe -t xx.a > xx.txt 输出.a内所有函数
arm-linux-androideabi-nm.exe xx.a > xx.txt 输出.a内所有函数
3. ndk编译
上面两种库文件,.a和.so都可以直接通过 arm-linux-androideabi-g++.exe 工具编译,编译语法跟linux上的g++一致。
也可以直接使用ndk-build命令!
4. crash定位
1)使用addr2line将地址转化成代码行数,输入的so为带符号表的,即为strip过的:
arm-linux-androideabi-addr2line.exe -f -e E:\dev_code\Sosomap-old\Sosomap-jni\obj\local\armeabi\libXX.so 000263ae
2)使用ndk-stack.exe还原堆栈:
ndk-stack -sym E:\dev_code\Sosomap-old\Sosomap-jni\obj\local\armeabi -dump D:\android-ndk-r9b-windows-x86\txmap_log.txt-sym为带符号表的so路径,
-dump为crash的堆栈信息,必须包含:********** Crash dump: **********
原文:http://blog.csdn.net/ryfdizuo/article/details/26389845
android so readelf.exe,android ndk中的工具使用相关推荐
- 在android C/C++ native编程(ndk)中使用logcat
最近在研究Android 2.2 源代码的C/C++层,需要对代码进行一些调试,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat却看不到任何输出,换成LO ...
- Android NDK 中堆栈日志 add2line 的分析实践
文章目录 目的 常用的辅助工具 分析步骤 参考 目的 Android NDK 中出现的 crash 日志分析定位,使用 addr2line 对库中定位so 动态库崩溃位置,定位到某个函数的具体的代码行 ...
- 【Android 逆向】Android 进程注入工具开发 ( 系统调用 | Android NDK 中的系统调用示例 )
文章目录 一.系统调用 二.Android NDK 中的系统调用示例 一.系统调用 在 " 用户层 " , 运行的都是用户应用程序 ; 用户层 下面 是 驱动层 , 驱动层 下面是 ...
- 【Android 逆向】代码调试器开发 ( 使用 NDK 中的 ndk-build + Android.mk 编译 Android 平台的代码调试器可执行应用 )
文章目录 一.Android 平台代码调试器代码 二.Android.mk 构建脚本内容 三.Application.mk 构建脚本内容 四.正式编译 五.博客资源 一.Android 平台代码调试器 ...
- android ndk使用c 11,使用c 11 std :: async在android ndk中使用不完整类型无效
我尝试使用以下函数来检查android ndk中是否支持std :: async以及windows中的cygwin.我使用的功能如下 机器:64位赢得8与cygwin Eclipse:Juno 4.2 ...
- 在Android NDK中使用OpenSSL
从 6.0 开始,Google 要求不要使用系统的 OpenSSL,请见:https://developer.android.com....因此,请不要再使用本文介绍的方法,请自行交叉编译 OpenS ...
- socket android用法,Android NDK中socket的用法以及注意事项分析
与Java层中的套接字相比,本机层中的Socket可以选择更多的配置项,并获得关于当前拥塞状态的更准确的信息,那么 NDK中socket的用法以及注意事项分析,大家清楚吗?下文是爱站技术频道小编为大家 ...
- android源码中的ndk,如何在不需要Android操作系统源代码的情况下在Android NDK中创建新的NativeWindow?...
我想编译一个Android OpenGL控制台应用程序,您可以直接从控制台启动Android x86或从Android x86 GUI中的Android终端应用程序运行.如何在不需要Android操作 ...
- android so导致启动慢,谈谈Android NDK中动态链接库(.so文件)的优化
做了不少NDK相关的工作,不知道别人有没有同样的困惑,经常在编译C/C++代码的时候会出一些error或者warning,然后在网上搜,发现在Android.mk或者Application.mk文件中 ...
最新文章
- 设置Button控件创建完毕时触发的事件.
- c++迭代器iterator通用吗_「ES6基础」迭代器(iterator)
- stale element reference: element is not attached to the page document 异常
- 尝鲜RHEV 3.0——概念篇(附RHEV3.0下载)
- wps电脑版_使用好这几个功能,让你手机里的wps变身神器。
- 滑翔导弹末段多约束智能弹道规划
- oracle 存储过程给另一个用户的权限问题
- 关于二分限制最短路的题的总结
- 使用python模拟实现PID控制算法
- 在线人民币数字金额转成美元金额大写工具
- 日语简体形与敬体形 - 新版标日22课
- c语言双引号的三个作用是什么,文中“说话” 一词上所加引号的作用是什么
- java file文件大小_Java实现获取文件大小的几种方法
- 程序员如何快速上手一个自己不太熟悉的新项目
- 打印选课学生名单 (25分)
- 检测色卡饱和度和色彩偏差
- STM32 USB基础知识
- 建立您的启动:自定义会议视图
- [ 2204听力 ] 三
- PAT 1026 Table Tennis (30分)
热门文章
- 为什么我们喜欢用 sigmoid 这类 S 型非线性变换?
- 360手机麦克风测试软件,【奇酷小技巧】教你无需ROOT增大话筒、听筒和外放声音!...
- java状态模式例子答案_[转载]java设计模式_状态模式(带例子)
- mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大
- python取三位小数_python保留小数位的三种实现方法
- airtest自动化测试_自动化测试必备实用工具,帮你提高工作效率|Gitee项目推荐...
- Python入门100题 | 第043题
- LeetCode-数学-9. 回文数
- numpy.copy详解
- 第三周 数据分析之概要 Pandas库入门