NDK
ハック

.so ファイルの中を覗く方法

More than 1 year has passed since last update.

Android NDKを使うと、ビルド時に共有ライブラリ(.so)ファイルにお世話になることがある。

そこで、.soファイルが正しく作られているのか、Mac環境で確認したい。

nmとかstringsとかobjdumpを使う方法があるが、詳しくは参考サイト参照。(objdumpを使うと、調べたかった.soファイルが壊れていたのか、"曖昧なファイルです"と怒られてしまった。)

今回はgreadelfコマンドを使う。

  1. インストール

    brew install binutils
    
    • binutilsにobjdumpやreadelfが入っている
    • gobjdump, greadelfといように、先頭にgがついたコマンド群になっている模様
  2. 実行例

    $ greadelf -l sample.so
    

参考サイト

http://d.hatena.ne.jp/aki-yam/20091122/1258905636
http://d.hatena.ne.jp/amachang/20080401/1207027290