4 votes

Comment supprimer les fichiers de l'application/application racine ?

Mon téléphone est enraciné. J'essaie de faire un programme très simple. Le programme doit supprimer le fichier de l'application/du dossier de l'application. Comment puis-je le faire ? Je suis novice, donc les exemples de code sont appréciés.

3voto

Paul Lammertsma Points 12817

Si votre téléphone est rooté, vous pouvez lancer des commandes en tant que Root via su -à condition que le su binaire est présent et dans votre PATH - puisque Android est une variante de Linux. Il suffit d'exécuter les commandes de suppression par Runtime.exec() et Superuser devrait s'occuper de l'invite de permission.

Voici un exemple simple de son utilisation que j'ai pris de cette question :

process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();

1voto

Ram kiran Points 10459

Vous pouvez supprimer tous les fichiers d'un dossier de manière récursive en utilisant la méthode ci-dessous.

private void DeleteRecursive(File fileOrDirectory) {
    if (fileOrDirectory.isDirectory())
        for (File child : fileOrDirectory.listFiles())
        {
            child.delete();
            DeleteRecursive(child);
        }

    fileOrDirectory.delete();
}

1voto

cnexus Points 436

Sur son github Chainfire fournit une exemple de réalisation d'un Shell que vous pouvez utiliser pour exécuter le rm comme Root. Le site rm est la variante Linux de la commande permettant de supprimer des fichiers (et des dossiers).

Extrait de code :

if(Shell.SU.available()){
   Shell.SU.run("rm /data/app/app.folder.here/fileToDelete.xml"); //Delete command
else{
   System.out.println("su not found");

Ou si vous êtes certains que le su est disponible, vous pouvez simplement exécuter la commande delete (ligne commentée) et sauter la vérification.

Fuente: How-To SU

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X