2
假設我爲android(arm)編譯了libFoo.so
。我不確定它鏈接到的STL實現(有options)。我如何獲得依賴關係(如.so列表),以瞭解我應該使用System.load(...)/loadLibrary(...)
提供和加載哪些文件?如何獲得.so文件的依賴列表?
假設我爲android(arm)編譯了libFoo.so
。我不確定它鏈接到的STL實現(有options)。我如何獲得依賴關係(如.so列表),以瞭解我應該使用System.load(...)/loadLibrary(...)
提供和加載哪些文件?如何獲得.so文件的依賴列表?
您可以使用objdump
工具並篩選出相關部分。在這種情況下,例如arm-linux-androideabi-objdump -p libFoo.so | grep NEEDED
。
正如建議的ldd
工具通常也會這樣做,但它會嘗試實際查找所有將被加載的文件,並且它在交叉編譯環境中並不總是可用。
你想知道libFoo.so的依賴關係嗎? – basav
ldd命令應該有所幫助。您可以使用設備命令提示符導航到android文件系統,並執行命令ldd libFoo.so。這將列出這個動態庫依賴的所有依賴關係! – k2ibegin
我怎麼能得到它? ndk中也沒有ldd,也沒有獨立的工具鏈。在我的Mac上找不到它 – 4ntoine