Android下檢視SO庫被依賴的情況

petterzou發表於2020-11-06

Android下檢視SO庫被依賴的情況

起因

近期在處理Android下動態庫依賴的問題。我知道在Mac下檢視某個so都被那些so依賴了,那麼Android下怎麼檢視呢?

我們都知道Android的核心是基於Linux的,可以從AOSP中你找不到ldd這個可執行程式,ndk中也沒有。

這就是本文要解決的問題。
檢視Android下共享庫的依賴性。

解決方案

方案一:ndk中的readelf

在ndk的toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-readelf中可以找到對應的可執行程式,檢視依賴項實用下面命令:

./arm-linux-androideabi-readelf -d libmedia.so

方案二:AOSP中的objdump

在AOSP的prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin中可以看到arm-linux-androideabi-readelfarm-linux-androideabi-objdump都可以使用,其中objdump的命令如下:

./arm-linux-androideabi-objdump -x libmedia.so | grep NEEDED

 

相關文章