For reference, if you see link time errors about a missing '__dso_handle' symbol when building Android, then check if you're using any global class instances in your multimedia libraries.
Each shared library has a __dso_handle symbol which is filled in on load by the dynamic loader. Global class instances use this unique value to make sure the destructor is called when the library is unloaded. The symbol itself is defined in crtbegin_so.o, but the multimedia rules forbid using this for an unknown reason. Either create your global instances in a different way or change the multimedia rules :)
-- Michael