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-readelf
和
arm-linux-androideabi-objdump
都可以使用,其中objdump的命令如下:
./arm-linux-androideabi-objdump -x libmedia.so | grep NEEDED
版权声明:本文为guibao513原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。