As was said, LD_LIBRARY_PATH is parsed only when a program starts execution. Note that your app is *not* "a program". Your app runs in a process of its own, sure, but that process is a fork of the Zygote process and it does not exec() any new program to run, it just loads the Java code for your app. In the case of "pure native" apps, that Java code is not anything you wrote, sure (because your app is "pure native"), but it is still Java code (the NativeActivity class etc). Java code then loads any of your native libraries, when/if told to.
Android is not a "normal" Linux system. The application lifecycle is not "normal". Learn to live with it.
--tml