android so readelf.exe,android ndk中的工具使用
1. 動(dòng)態(tài)so處理:
arm-linux-androideabi-readelf.exe -a XX.so > xx.txt輸出所有函數(shù)
arm-linux-androideabi-objdump.exe -dx XX.so > xx.txt反匯編so包,此時(shí)使用 $(JNI_PROJ_PATH)/obj\local\armeabi下面帶符號(hào)表的so包。JNI_PROJ_PATH為編譯so包時(shí)jni文件夾的根目錄
2. 靜態(tài)a處理:
arm-linux-androideabi-ar.exe -t xx.a > xx.txt?輸出.a內(nèi)所有函數(shù)
arm-linux-androideabi-nm.exe xx.a > xx.txt?輸出.a內(nèi)所有函數(shù)
3. ndk編譯
上面兩種庫(kù)文件,.a和.so都可以直接通過?arm-linux-androideabi-g++.exe 工具編譯,編譯語(yǔ)法跟linux上的g++一致。
也可以直接使用ndk-build命令!
4. crash定位
1)使用addr2line將地址轉(zhuǎn)化成代碼行數(shù),輸入的so為帶符號(hào)表的,即為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為帶符號(hào)表的so路徑,
-dump為crash的堆棧信息,必須包含:********** Crash dump: **********
原文:http://blog.csdn.net/ryfdizuo/article/details/26389845
總結(jié)
以上是生活随笔為你收集整理的android so readelf.exe,android ndk中的工具使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android4.4.2fragment
- 下一篇: html实现ppt缩放效果,Powerp