Exécuter des commandes shell à partir d'android programme
Cette question a été posée ici avant, mais les solutions proposées ne fonctionnent pas..j'essaie d'afficher le contenu de /data/dalvik-cache de dossier. Je sais que pour ce faire nous avons besoin pour devenir la ligue. J'ai même fait encore, mais je ne suis pas en mesure d'exécuter une commande shell..
package org.linuxconfidg.Example2;
import android.app.Activity;
import android.widget.*;
import android.os.Bundle;
import java.io.*;
public class Example2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String lsreturn=myFunLs();
TextView tv=new TextView(this);
tv.setText("Hello Sindhu !! Try to get it \n"+lsreturn);
setContentView(tv);
}
public String myFunLs()
{
try {
//Executes the command.
Process process;
process = Runtime.getRuntime().exec("/system/bin/su");
process = Runtime.getRuntime().exec("/system/bin/ls /data/dalvik-cache > /data/local");
pr
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
//Waits for the command to finish.
process.waitFor();
return output.toString();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
Quelqu'un peut-il m'aider à trouver comment faire pour exécuter les commandes de linux dans l'application android. Je suis en train de tester cette appli dans mon émulateur qui est defaultly enracinée
Êtes-vous sûr que c'est correctement ancrée? Obtenez-vous un super-Utilisateur fenêtre de demande avant cette activité est exécutée?
Aussi loin que ce que je sais de l'émulateur est enraciné par défaut...je me trompe? Je didnot obtenir tout SuperUser fenêtre de demande de...u Peut m'aider plz cette?
Aussi loin que ce que je sais de l'émulateur est enraciné par défaut...je me trompe? Je didnot obtenir tout SuperUser fenêtre de demande de...u Peut m'aider plz cette?
OriginalL'auteur nikhil | 2011-09-16
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas simplement exécuter la commande 'su' sur l'émulateur, il n'y a pas d'accès root par défaut. Vous aurez besoin d'installer le " su " programme ainsi que le super-Utilisateur.apk, et vous aurez à le faire à chaque fois que vous démarrez l'émulateur à moins d'utiliser des instantanés.
Plus d'informations et des liens vers les fichiers dont vous avez besoin peut être trouvé ici sur de SORTE que comme ce blog par Russell Davis
Je suis en train de lancer une simple commande en appareil android sans root. Il travaille dans l'appareil avec Android 5, mais pas avec de l'Androïde 7 de. Des idées?
A >< beaucoup de choses ont changé depuis l'origine de question/réponse en 11 que fait cette réponse non pertinente à plus tard les versions d'Android. Malheureusement je ne peux pas vous aider dans les versions ultérieures.
OriginalL'auteur Pedantic
Je pense que le problème vient du fait que vous êtes à l'aide de DEUX instances de processus.
Vous devez être sur le
su
processus à effectuer sur l'envoi de commandes:Vous pouvez vérifier la question "Lire la sortie de la commande à l'intérieur de la ligue processus"
pour une réponse.
Ensuite, j'ai essayé & a réussi à faire de code de travail (je suis sûr qu'il fonctionne!)
OriginalL'auteur Franck GALLIAT
Dans l'exemple ci-dessous, j'essaie de l'exécuter "/system/bin/screencap" capture d'écran android.
via adb:
via l'application Android:
Espère que cette aide.
OriginalL'auteur Nguyen Minh Binh