Hello,

On Thu, Nov 22, 2012 at 9:12 AM, Jorge Izquierdo Ciges <[email protected]>wrote:

> I think Matthias is totally right. Android NDK toolchain doesn't use strip
> when generating static libraries (it's not safe for all the cases). Usually
> when you are compiling the final dylib that is loaded through Java the
> toolchan uses stripping to reduze the size. but i think that it is only
> used IF you are using the ndk-scripts. So maybe if you have set your own
> compile configuration you didn't include that step.
>


That's not true, actually. The binaries loaded to the device are *always*
stripped, no matter what you do. Even when you are compiling for debugging.
The reason for that is that you do not need the symbols when debugging -
the debugger is running on the host (where an unstripped binary is
available), not on the device. I have discovered this when trying to debug
native code - I was trying to get the non-stripped binary on the device and
had to hack the ndk-build to achieve that, before realizing that it isn't
actually useful because of the remote debugging being done.

You can check that the binaries are always stripped in the ndk-build script
and also by comparing the size of the generated libraries under libs and
obj/local. The obj folder has the non-stripped ones for debugging, the ones
from libs are deployed in the APK.

The striping done by ndk-build should be safe, it strips only not needed
symbols.

The huge size of the libraries is not really a big deal apart from the
terrible linking times - the linker removes all non-needed parts (unused
functions) from the resulting binary, so I have about 1MB .so while I am
linking in 200MB+ of OSG libraries.

Regards,

Jan
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to