2012-06-15 3 views
1

Avant la version 4.0, il est un travail normalement, mais après 4.0, je ne peux pas l'exécuter comme « h désinstaller com.abc »gestionnaire de package Android ne peut pas fonctionner avec ICS

mon code comme ceci:

try { 
       // Executes the command. 
       Process process = Runtime.getRuntime().exec("pm uninstall me.onemobile.android"); 
       DataOutputStream toProcess = new DataOutputStream(process.getOutputStream()); 
       toProcess.writeBytes("exec " + "shell pm uninstall me.onemobile.android" + "\n"); 
       toProcess.flush(); 
      } catch (IOException e) { 
       System.out.println(e.getMessage()); 
       throw new RuntimeException(e); 
      } 

quand je le lance, il est montrer comme ceci:

[1] + Stopped (signal) 

t-il une différence quand je cours « pm TestCom désinstallation » dans la racine, et il montre juste

[1] + Stopped (signal) 

mais quand lancé "adb shell pm uninstall com.test", c'est du travail, donc ça me rend fou.

toute aide ou indice sera apprécié.

+0

Ce n'est pas une interface publique. Utilisez une intention si vous voulez commencer le processus de suppression d'un paquet. C'est une exigence de conception d'Android que l'utilisateur est ensuite invité à confirmer la suppression. –

Répondre

1

Essayez ce code

toProcess.writeBytes("export LD_LIBRARY_PATH=/vendor/lib:/system/lib" + "\n"); 
    toProcess.writeBytes("exec " + "shell pm uninstall me.onemobile.android" + "\n"); 
    toProcess.flush(); 
0

J'ai le même problème dans Android 4.0.3. après avoir exécuté 'adb su', 'pm' retourne toujours [1] + Stopped (signal). Il semble cause par le privilège.

+0

Je l'ai résolu, essayez simplement d'ajouter ceci avant l'après-midi: "LD_LIBRARY_PATH =/vendor/lib:/system/lib – notenking

Questions connexes