2010-09-06 11 views
6

im cercando di trovare il metodo dietro l'accesso superutente su dispositivi Android. in pratica voglio che la mia app sia in grado di rimuovere i file di sistema e quindi chiedere all'utente se è ok dopo che l'app è stata avviata come la maggior parte delle altre app, e quindi quale codice sto cercando di usare per eseguire questo tipo di azioni? cant trovare molto su googleAndroid utilizzando le autorizzazioni Super utente? consentendo l'accesso

grazie in anticipo!

risposta

10

Se il dispositivo è radicata, è possibile utilizzare il seguente codice per ottenere l'accesso a una shell di root:

try 
    { 
     Process process = Runtime.getRuntime().exec("su"); 
     DataOutputStream outputStream = new DataOutputStream(process.getOutputStream()); 
     DataInputStream inputStream = new DataInputStream(process.getInputStream()); 

     outputStream.writeBytes(command + "\n"); 
     outputStream.flush(); 

     outputStream.writeBytes("exit\n"); 
     outputStream.flush(); 
     process.waitFor(); 
    } 
    catch (IOException e) 
    { 
     throw new Exception(e); 
    } 
    catch (InterruptedException e) 
    { 
     throw new Exception(e); 
    } 

Dove "comando" è il comando che si desidera eseguire.

+0

dove hai trovato questa risorsa amico mio? c'è qualche documentazione per questo? sto pensando di usare la variabile comando ogni volta che voglio eseguire un comando che richiede questo accesso? –

+0

Felice di essere di aiuto! Non riesco a ricordare dove ho trovato quel codice, ma so che ci sono voluti molti googling. Il campione è stato preso da un'app a cui sto lavorando attualmente. Per eseguire più comandi, fai semplicemente "outputStream.writeBytes (" command \ n ");" e "outputStream.flush();" per ogni comando. È anche possibile creare un elenco di comandi da ripetere. –

1

Se sto ottenere nel modo giusto si desidera concedere i privilegi di root dell'applicazione. Questo non è possibile con l'immagine standard di Android che è installata sui dispositivi. Il comando su non supporta la modifica a root.

È possibile comunque caricare una ROM personalizzata radicato sul dispositivo diverso da quello che ho paura non esiste una soluzione.

+1

io uso molte molte applicazioni che richiedono i permessi di superutente prima di lanciare quindi non so che cosa il vostro su circa –

+0

Certo si può chiedere il permesso dell'utente super, ma su un dispositivo predefinito non rooted con una ROM non modificata di default questo non funzionerà. Questo è quello che volevo dire. –

1

Here si può trovare un'illustrazione chiara su come ottenere i permessi di root

Problemi correlati