Po uruchomieniu tego:
Process p = Runtime.getRuntime().exec("su");
Próbujesz wykonać „Su”, który tylko aplikacja z prawami administratora może zrobić! Tak więc zawsze, gdy Android wykryje, że próbujesz uruchomić "su" Otrzyma to, że aplikacja będzie potrzebować uprawnień administratora.
Ponadto system Android ma zarezerwowany obszar, do którego dostęp ma tylko system Android. Jeśli Twoja aplikacja chce uzyskać do niej dostęp, Android zrozumie, że jest potrzebny superużytkownik.
Załóżmy na przykład, że próbujesz zmodyfikować plik hosta lub zmodyfikować niektóre konfiguracje sieciowe, takie jak DHCP. Lub próbujesz uzyskać dostęp do plików z obszaru systemu, np. /data
Android sprawdzi, czy aplikacja ma uprawnienia administratora, a następnie przyzna dostęp do takich rzeczy.
O złośliwym oprogramowaniu, gdy aplikacja wymaga dostępu superużytkownika, system poprosi użytkownika o przyznanie lub odmowę uprawnień administratora aplikacji. Tylko wtedy aplikacja może uzyskać dostęp do roota. To użytkownik decyduje, czy zaakceptować lub odmówić dostępu root dla dowolnej aplikacji. (System poprosi użytkownikowi każdym razem aplikacja próbuje uzyskać dostęp do czegoś, co wymaga dostępu jako root, CHYBA systemu powiesz zapamiętać wybór akceptacji lub negacji dla konkretnej aplikacji.)
PS: Można rozważyć sprawdzanie website for Superuser app.
+1 miłe wyjaśnienie –
i jak/dlaczego aplikacja 'Superuser' działa tylko jako dostawca ** Su **? Co sprawia, że jest on odpowiedzialny? – waqaslam
@Waqas To może odpowiedzieć na twoje pytanie http://androidsu.com/superuser/ Po prostu poznaj witrynę. Zaktualizuję link w odpowiedzi. Może być pomocny dla innych. :) –