0

Je tente d'installer apk silencieusement sans aucune invite.java.io.IOException: Erreur lors de l'exécution de exec(). Commande: Répertoire de travail: null Environnement: null

Ceci est le code qui installe le fichier apk en utilisant la commande adb. Mais lorsque j'exécute ce code, j'obtiens le message d'erreur suivant:

public void InstallAPK(String filename){ 
    File file = new File(filename); 
    if(file.exists()){ 
     try { 
      String command; 
      command = "adb install -r " + filename; 
      Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", command }); 
      proc.waitFor(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

java.io.IOException: Erreur lors de l'exécution de exec(). Commande: [su, -c, adb install -r /storage/emulated/0/Download/sampleapp.apk] répertoire de travail: Environnement: NULL

J'ai donné ces autorisations.

<uses-permission android:name="android.permission.INSTALL_PACKAGES"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

S'il vous plaît quelqu'un peut me aider à résoudre cette erreur.

+0

pouvez-vous trouver une solution pour cela? Si oui, s'il vous plaît faites le moi savoir. – Jaydev

Répondre

0

Vous ne pouvez pas exécuter une commande silencieuse dans la portée d'une application pour installer une apk en dehors de la portée de cette application. Mais vous pouvez monter l'intention de faire cela avec AOSP. Cochez cette réponse peut-être: Install Application programmatically on Android

Intent promptInstall = new Intent(Intent.ACTION_VIEW) 
    .setDataAndType(Uri.parse("file:///path/to/your.apk"), 
        "application/vnd.android.package-archive"); 
startActivity(promptInstall); 
+2

Merci. Je le sais déjà. Mais j'essaye d'installer sans invite. – Sridhar

+0

Impossible pour n'importe quel téléphone. Vous pouvez rooter votre propre téléphone et y arriver, mais vous ne le voulez pas. – cokceken