Ciao sto sviluppando un'applicazione che mi richiede di eseguire un codice bash C'è un modo in cui posso codificare lo script nella mia app e poi eseguirlo? Per esempio (questo è un esempio molto semplificato)Comando bash di esecuzione Android nell'app
#!/system/bin/sh
#
if [ ! -f /sdcard/hello.txt ]
then
echo 'Hello World' >> /sdcard/hello.txt
else
echo 'Goodbye World' >> /sdcard/goodbye.txt
fi
Ho il seguente metodo per l'esecuzione di comandi ad un solo linea di bash, ma bisogno di eseguire qualcosa di simile che è su più righe. Anche in questo caso, il codice precedente è un esempio molto semplificato di ciò che sto facendo in realtà deve essere eseguito attraverso uno script e non può essere eseguito tramite java. Voglio anche che sia programmato in modo sicuro So che potrebbe avere lo script memorizzato sul telefono ed eseguirlo con il seguente ma non voglio che lo script appena uscito sia piuttosto codificato nell'app.
public Boolean execCommand(String command)
{
try {
Runtime rt = Runtime.getRuntime();
Process process = rt.exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (IOException e) {
return false;
} catch (InterruptedException e) {
return false;
}
return true;
}
Grazie per tutto l'aiuto con il mio problema
grazie per il codice andando a dare una prova in pochi minuti spero che funzioni bene :) – user577732
ha funzionato esattamente come volevo il secondo metodo per l'esecuzione sarà molto utile grazie a una tonnellata! – user577732
Sto usando la stessa cosa ma non funziona per me. Funziona davvero per te? Sto usando l'app di sistema. – NovusMobile