title: LD_LIBRARY_PATH ignored on Android sometimes
body: <p>i have an android app which spawns many native executables dinamically linked with libraries i distribute with the package.
  To launch those binaries, i use the LD_LIBRARY_PATH environment variable to make them aware of the place to load the libraries from, but on some devices this doesn't work at all, the LD_LIBRARY_PATH is correctly updated but the binary fails to find the library anyway.
  This is not something i can reproduce because on my two devices ( Galaxy Nexus &amp; Nexus 7 with stock roms ) it just works fine.</p>
  
  <p>I tried many ways, for instance i spawn:</p>
  
  <pre><code>LD_LIBRARY_PATH=/my/package/custom/libs:$LD_LIBRARY_PATH &amp;&amp; cd /binary/directory &amp;&amp; ./binary
  </code></pre>
  
  <p>And :</p>
  
  <pre><code>    String[] envp = { "LD_LIBRARY_PATH=" + libPath + ":$LD_LIBRARY_PATH" };
  
      Process process = Runtime.getRuntime().exec( "su", envp );
  
      writer = new DataOutputStream( process.getOutputStream() );
      reader = new BufferedReader( new InputStreamReader( process.getInputStream() ) );
  
      writer.writeBytes( "export LD_LIBRARY_PATH=" + libPath + ":$LD_LIBRARY_PATH\n" );
      writer.flush();
  </code></pre>
  
  <p>But on those devices nothing seemed to work ... so i'm starting to think that this is a kernel related issue, some kernels ( like mine ) use the LD_LIBRARY_PATH, other kernels don't ( simply ignore it, or they're using just the LD_LIBRARY_PATH that was set on application startup, therefore there's no way to change it at runtime ).</p>
  
  <p>I also tried to use System.load but it didn't work, probably because those libs are not JNI ... is there something i could try before starting to think about using statically linked binaries ?</p>