在Android上相當於ldd


Answers

我只是遇到了同樣的問題,不想安裝ndk也沒有抓整個源代碼樹來找出一個exe文件。

readelf --dynamic filename | grep NEEDED

顯示一個elf二進製文件的動態庫。

Question

我有一個libTest.so,不加載某些設備上。 logcat是絕對沒用的。 使用arm-linux-androideabi-readelf.exe -d libTest.so我能夠看到libTest.so需要的所有必需庫。 我把它們全部拉進了本地PC的同一個文件夾。

我怎樣才能找出哪些符號丟失,在哪個庫? 我只有從NDK(nm,readelf,objdump等)的標準工具集。 哪個工具以及如何使用,以便它解析我的libTest.so和所有相關的庫,並告訴我哪個符號阻止我的lib加載到目標設備上。




你可以做一些事情:

$ /lib/ld-linux.so.2 --list filename

這是因為ldd只是一個shell腳本,就像動態加載器的包裝一樣。 動態加載器的名稱,即ld- {version} .so可能不同。




Links