Red de conocimiento informático - Material del sitio web - Cómo ejecutar el comando adb shell en un programa de Android

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.