Cómo ejecutar el comando adb shell en un programa de Android
Hay dos formas de ejecutar comandos de shell en Android:
1. Utilice la clase Runtime proporcionada por Java directamente en el código para ejecutar el comando. El siguiente es un código de muestra completo. .
public void execCommand(comando de cadena) lanza IOException {
// inicia la ejecución del comando ls
//String[] args = ?new String[] {"sh", "-c", comando};
Tiempo de ejecución runtime = Runtime.getRuntime() ?
Proceso proc = runtime.exec(comando); En una palabra, es la llamada entre el shell y el lenguaje de alto nivel
//Si hay parámetros, puedes usar otro método ejecutivo sobrecargado
//De hecho, cuando se ejecuta de esta manera, un proceso hijo no tiene la consola del proceso padre
//No puedes ver la salida, por lo que necesitas usar el flujo de salida para obtener la salida después de que el shell sea ejecutado
InputStream inputstream = proc. getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
// lee la salida ls
String line = "";
StringBuilder sb = new StringBuilder(line);
while ( (línea = bufferedreader.readLine()) != null) {
//System.out.println(line);
sb.append(line);
sb.append('\n');
}
//tv.setText(sb.toString());
// El uso de exec para ejecutar no esperará hasta que la ejecución sea exitosa antes de regresar. Volverá inmediatamente
// Por lo tanto, es muy crítico en algunos casos (como al copiar archivos)
/. /Utilice wairFor() para esperar a que se complete la ejecución del comando antes de regresar
intente {
if (proc.waitFor() != 0) {
System.err.println("valor de salida = " + proc.exitValue ());
}
}
catch (InterruptedException e) { ?
System.err.println(e);
}
}
}
2. El simulador de shell, que es la aplicación de Android ya desarrollada, será similar a la línea de comandos DOS de Windows que se puede instalar y usar directamente. Puede ejecutar comandos de Linux de uso común y se aplica en el archivo adjunto.