I have a libTest.so that does not load on some devices. logcat is absolutely useless.
Using arm-linux-androideabi-readelf.exe -d libTest.so
I was able to see all required libs that libTest.so needs. I pulled them all in, into the same folder on my local PC.
How can I find out which symbols is missing and in which library? I have only standard set of tools from the NDK (nm, readelf, objdump etc). Which tool and how can I use so that it parses my libTest.so and all dependent libs as well and tells me which symbol prevents my lib from loading on the target device.
Thanks to android developers. My feature request was implemented :) Now we have ndk-depends, a tool that allows to troubleshoot dependencies.
Edit: it doesn't do full symbol resolution though. E.g. if you build against Android-14 and try to use methods that didn't exist in old Androids, then this tool won't list missing symbols. This part was left as a TODO in ndk-depends.