title: Working Directory : null environment when running Process.Builder on android
body: <p>I am using two phones, Galaxy Nexus(JellyBean) and Nexus 5(KitKat). I am trying to execute a script which exists in</p>
  
  <blockquote>
    <p>/data/folder/scripts/run.sh </p>
  </blockquote>
  
  <p>I use Process.Builder to build the command. This command is built by getting </p>
  
  <blockquote>
    <p>Environment.getDataDirectory().toString() + "/folder/scripts/run.sh"</p>
  </blockquote>
  
  <p>There are no issues running this on the Galaxy Nexus but when I run it on the Nexus 5, I catch an exception when I run the process.start(). The output which I get contains:</p>
  
  <blockquote>
    <p>Error running exec(). Command: [/data/folder/scripts/run.sh, "param"]. Working directory: null Environment: [ADNROID_ROOT=/system ... ]</p>
  </blockquote>
  
  <p>The directory structure of my scripts is the same on both files. </p>
  
  <p>EDIT:</p>
  
  <p>So I was looking at the logcat as soon as I load the application and I think I've pinpointed the issue. </p>
  
  <p>There's an ERROR saying Manifest file not found.
  WARNING: java.io.FileNotFoundException /data/folder/Manifest: open failed EACCESS (Permission Denied).</p>
  
  <p>This doesn't come up for the Galaxy Nexus which is running JellyBean. Is it some security issue with KitKat?</p>