2012-01-05 16 views
6

C'è una situazione qui, sto sviluppando un'applicazione Android, utilizzando Java. Sono abbastanza familiare con tutte queste cose, ma ora è la prima volta che ho bisogno di usare i permessi di SU. Ho solo bisogno di sostituire (in realtà, rinominare) il file nella directory system/app, ma sembra che non sia in grado di eseguirlo in un modo normale (metodo renameTo nella classe File), mi restituisce solo FALSE, il che significa che c'era qualche errore nel funzionamento.Autorizzazioni Android SU: come usarle?

Quindi qualcuno può dirmi come usare SU? Il mio telefono di prova è completamente basato su SU 3.0.3.2, qualsiasi app che richiede SU funziona perfettamente.

Devo usare lo stesso metodo ma con alcune aggiunte in manifest? Devo usare busybox in qualche modo?

Ho cercato su google per questo e non riesco a trovare alcuna informazione utile. E inoltre, non c'è documentazione sul sito ufficiale di Superuser Android.

Grazie in anticipo!

+1

Duplicate: http://stackoverflow.com/questions/7295873/how-do-i-request-root-access-in-android – TryTryAgain

+0

Grazie, signore :) – Adiost

+0

Nessun problema. Una rapida ricerca su StackOverflow genera quasi sempre risultati ;-) – TryTryAgain

risposta

8

Probabilmente avrete anche bisogno di rimontare il filesystem come RW poiché/il sistema è di sola lettura. Così potrebbe essere necessario chiamare SU con un comando simile di seguito:

mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system

per eseguire il comando, si può provare a due vie (ho preavviso in Android a volte si lavora e l'altro no)

Process p = Runtime.getRuntime().exec(new String[]{"su", "-c", "mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system"}); 

Oppure si può fare

Process p = Runtime.getRuntime().exec("su"); 
p.getOutputStream().write("mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system".getBytes()); 
p.getOutputStream().write(<my next command>); 
+0

Oh sì, ho bisogno di farlo. Scusa per la domanda zoppa, ma ancora: come si fa? Voglio dire, come chiamare SU con un comando? – Adiost

+1

Modificato un po 'per renderlo più completo. – user931366

+0

Chi è fantastico? Sei fantastico! :) Ti devo – Adiost

Problemi correlati