title: android 7: NullPointerException on APK installing with Runtime.getRuntime().exec
body: <p>I'm trying to install APK in android 7 (samsung and sony) using regular <code>Runtime.getRuntime.exec()</code> routine.
  The installation fails with the following exception in the logcat:</p>
  
  <pre><code>09-04 14:14:33.932 16623-16623/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
  09-04 14:14:33.939 3695-3876/? D/PackageInstaller:  installation of android.content.pm.PackageInstaller$SessionParams@a4d2f0e for non-container user 0
  09-04 14:14:33.940 16623-16623/? E/Pm: Error
                                         java.lang.NullPointerException
                                             at android.os.Parcel.readException(Parcel.java:1699)
                                             at android.os.Parcel.readException(Parcel.java:1646)
                                             at android.content.pm.IPackageInstaller$Stub$Proxy.createSession(IPackageInstaller.java:249)
                                             at com.android.commands.pm.Pm.doCreateSession(Pm.java:530)
                                             at com.android.commands.pm.Pm.runInstall(Pm.java:369)
                                             at com.android.commands.pm.Pm.run(Pm.java:142)
                                             at com.android.commands.pm.Pm.main(Pm.java:99)
                                             at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
                                             at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:301)
  09-04 14:14:33.941 16623-16623/? I/art: System.exit called, status: 1
  09-04 14:14:33.941 16623-16623/? I/AndroidRuntime: VM exiting with result code 1
  </code></pre>
  
  <p>I try to implement that so:</p>
  
  <pre><code>Process proc = Runtime.getRuntime().exec("pm install /sdcard/imo.apk");
  </code></pre>
  
  <p>and so:</p>
  
  <pre><code>Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/sh","-c","/system/bin/pm install /sdcard/imo.apk"});
  </code></pre>
  
  <p>But exception occurs in the both cases.</p>
  
  <p>In androids less than 7 it works.</p>
  
  <p>The permissions are:</p>
  
  <pre><code>declared permissions:
    android.permission.INTERACT_ACROSS_USERS_FULL: prot=normal
  requested permissions:
    android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
    android.permission.READ_EXTERNAL_STORAGE
    android.permission.WRITE_EXTERNAL_STORAGE
    android.permission.READ_LOGS
  User 0: ceDataInode=393939 installed=true hidden=false suspended=false stopped=false notLaunched=false enabled=0
    gids=[1007]
    runtime permissions:
      android.permission.CLEAR_APP_USER_DATA: granted=true
      android.permission.INSTALL_PACKAGES: granted=true
      android.permission.READ_EXTERNAL_STORAGE: granted=true
      android.permission.INTERACT_ACROSS_USERS_FULL: granted=true
      android.permission.READ_LOGS: granted=true
      android.permission.CLEAR_APP_CACHE: granted=true
      android.permission.WRITE_EXTERNAL_STORAGE: granted=true
  </code></pre>
  
  <p>Installation does succeed thru the shell.
  Thanks in advance</p>