2012-01-05 11 views
6

Jest sytuacja, opracowuję aplikację na Androida, używając Java. Jestem dość obeznany z tymi wszystkimi rzeczami, ale teraz po raz pierwszy potrzebuję uprawnień SU. Po prostu trzeba zastąpić (właściwie zmienić nazwę) plik w katalogu system/app, ale wygląda na to, że nie jestem w stanie wykonać go w zwykły sposób (renameTo metoda w klasie File), po prostu zwraca mi FALSE, co oznacza że wystąpił błąd podczas działania.Uprawnienia Android SU: jak z nich korzystać?

Czy ktoś może mi powiedzieć, jak używać SU? Mój testowy telefon jest w pełni zakorzeniony w SU 3.0.3.2, każda aplikacja, która wymaga SU działa doskonale.

Czy mam użyć tej samej metody, ale z pewnymi dodatkami w manifeście? Czy w jakiś sposób będę używał busybox?

Już googlowałem do tego i nie mogę znaleźć żadnych użytecznych informacji. Ponadto nie ma dokumentacji na oficjalnej stronie Androida Superuser.

Z góry dziękuję!

+1

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

+0

Dziękuję, sir :) – Adiost

+0

Bez problemu. Szybkie wyszukiwanie w StackOverflow prawie zawsze pokazuje wyniki ;-) – TryTryAgain

Odpowiedz

8

Prawdopodobnie będziesz również musiał ponownie zamontować system plików jako RW, ponieważ/system jest tylko do odczytu. Więc może trzeba zadzwonić SU z podobnym komendy poniżej:

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

aby wykonać polecenie, można spróbować na dwa sposoby (mam zawiadomienie w android czasami jeden działa, a drugi nie będzie)

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

Albo można zrobić

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

O tak, naprawdę, muszę to zrobić. Przepraszamy za kulawe pytanie, ale wciąż: jak to zrobić? Mam na myśli, jak nazwać SU z jakąś komendą? – Adiost

+1

Edytował trochę, aby był bardziej kompletny. – user931366

+0

Kto jest niesamowity? Jesteś niesamowity! :) Jestem ci winien – Adiost

Powiązane problemy