Notatka: dlaczego mając roota - nie macie prawa narzekać że coś nie działa !!!:
Tytułem wstępu:
Jestem programistą/developerem aplikacji na system operacyjny Android i zajmuję się tym od mniej więcej roku.
:facepalm1: Od dłuższego czasu spotykam się (również na tym forum) z ludźmi którzy pierwsze co robią z telefonem na Androidzie to go rootują mając mgliste lub całkowity brak pojęcia czym to grozi, co często doprowadza do późniejszych narzekań w stylu "coś nie działa tak jak powinno", "telefon dzwoni sam na 0-700", "aplikacja nie chce się poprawnie zainstalować" etc.
Powoli tłumaczenie tego dlaczego tak jest każdemu z osobna doprowadza mnie to do szewskiej pasji, zatem pozwoliłem sobie na napisanie tej notatki raz, a porządnie gdyż jak zauważyłem, nawet osoby doświadczone na tym forum nie bardzo wiedzą do czego root służy, po co Android został zbudowany na jądrze Linuksa i jakie są pełne konsekwencje używania telefonu zrootowanego.
Ok zaczynamy.
Chcecie mieć roota - to liczcie się z tym że mając go bardzo łatwo jest uszkodzić coś w systemie i jesteście dużo bardziej narażeni na szkodliwe oprogramowanie, niż standardowy użytkownik.
Przykład 1.
Na telefonie nie-zrootowanym jeżeli aplikacja chce wykonać połączenie na jakiś numer, to dany numer pojawi się w dialerze i będzie oczekiwał na naszą reakcje "zadzwoń" - pozwala nam to sprawdzić czy aby ten numer jest faktycznie tym na który chcemy dzwonić i świadomie podjąć decyzję o kosztach związanych z połączeniem.
Natomiast na telefonie zrootowanym istnieje dodatkowo opcja wywołania połączenia bez uruchamiania dialera i bez potwierdzenia przez użytkownika numeru telefonu. Czyli w skrócie na zrootowanym telefonie taka aplikacja może sobie dzwonić bez naszej wiedzy w dowolnym momencie na np. numery 0-700 całymi godzinami.
Ponadto Google Inc. ostatnio wprowadziło do Marketu kilka zabezpieczeń o których zwykły użytkownik posiadający nie-zrootowany telefon nie ma prawa wiedzieć.
Przykład 2.
Jednym z zabezpieczeń jest opcja zaznaczenia przez developera aplikacji w Markecie jako PROTECTED - staje się to coraz bardziej popularne, a główne założenie tej tego zabezpieczenia polega na zablokowaniu widoczności takich aplikacji dla telefonów developerskich, zaś Market nie rozróżnia telefonu zrootowanego, od telefonu developerskiego.
Przykład 3.
Linux jest systemem z którego w założeniu może korzystać wielu użytkowników na raz. Przy czym dane poszczególnych użytkowników są od siebie odseparowane jedni użytkownicy nie mają dostępu do danych innych użytkowników o ile nie zostaną one specjalnie im udostępnione. Wyjątkiem od tej reguły jest użytkownik root (administrator systemu) który ma dostęp do wszelkich danych wszystkich użytkowników w systemie i może z nimi robić co mu się żywnie podoba.
O ile na telefonie trudno sobie wyobrazić żeby pracowała więcej niż jedna osoba na raz, zatem mechanizm ten twórcy Androida wykorzystali do odseparowywania poszczególnych aplikacji od siebie, tak aby jedna aplikacja nie mogła mieszać drugiej jeżeli tamta tego nie chce.
W praktyce wygląda to tak że każda aplikacja jest uruchamiana z prawami innego "użytkownika" co zapewnia że nie dostanie informacji specjalnie nie udostępnionych jej od innych aplikacji działających w systemie. Wyjątek jak zwykle stanowi aplikacja uruchomiona z prawami root-a która może robić wszystko co jej się podoba przez co wywalać inne aplikacje i procesy co może skutkować pogorszeniem stabilności działania innych aplikacji, jak również całego systemu. Doprowadzając przy okazji do częstego spowolnienia oraz zawieszania się systemu na telefonie.
Developerzy się z tym zgadzają, ale już przeciętny użytkownik nie koniecznie.
Jeżeli rootujecie telefon bo ktoś wam powiedział że tak będzie fajniej, to puknijcie się w głowę. :facepalm:
Jeżeli rootujecie telefon żeby wykonać jedną operację, lub kilka ale sporadycznie, :facepalm3: to po wykonaniu owej operacji odrootujcie (unroot) telefon dla własnego dobra.
Jeżeli rootujecie telefon i jesteście świadomi tak władzy jaką to daje, jak i zagrożeń oraz ograniczeń jakie to daje - to nie biadolcie mi tu że coś wam nie chodzi ! :mad:
Telefony developerskie mają służyć do testowania pisanych aplikacji, nie zaś do codziennego użytku i grania w gry czy coś. Android Market zaś nie rozróżnia telefonu zrootowanego od developerskiego.
Wg. Google Inc. jeżeli rootujesz telefon, to wiesz co robisz i nie masz prawa narzekać - proste.
I na koniec pamiętajcie "With great power, comes great responsibility". :...:
Pozdrawiam
Źródła: http://developer.android.com/guide/publishing/licensing.html
PS. W miarę jak będę napotykał na kolejne problemy związane z nie działaniem telefonu na tym forum co do których jest pewność, iż przyczyną tego stanu jest rootowanie telefonu postaram się w tym temacie dopisać odpowiedni przykład dla danego przypadku oraz wyjaśnić w nim dlaczego tak, a nie inaczej się dzieje.
PS2. Odpowiednie władzę forum prosiłbym też o przyklejenie tego tematu, w celu uświadomienia szerzącej się, aczkolwiek nie koniecznie korzystającej z opcji "szukaj" społeczności tego forum konsekwencji związanych z rootowaniem telefonu, aby temat nie znikł w czeluściach forum.
Aktualizacja 18.11.2013r:
W toku dyskusji w tym wątku pojawił się silny argument na temat tego, iż mając zainstalowane aplikacje do kontroli uprawnień takie jak Superuser lub SuperSU nie jesteśmy podatni na ataki ze strony aplikacji które wykorzystując prawa roota mogą zrobić nam "kuku" gdyż posiadając takie aplikacje musielibyśmy się zgodzić aby taka aplikacja dostała prawa roota.
W dniu 13.11.2013r na XDA ukazał się wątek odnośnie dziur w zabezpieczeniach aplikacji takich jak Superuser / SuperSU - ogólnie chodzi o to że wykorzystując te dziury aplikacja jest wstanie uzyskać prawa roota poza kontrolą użytkownika (Superuser oraz SuperSU nie pytają wtedy o przyznanie uprawnień) i robić co jej się żywnie podoba po cichu. Zalecana jest jak najszybsza aktualizacja tych aplikacji do najnowszych wersji.
Oryginalny temat z przykładami wykorzystania tutaj
Idealny przykład problemu z niechcianymi aplikacjami i rootem mamy tu:
https://forum.android.com.pl/topic/380247-problem-z-androidem-aplikacja-kta-ra-siae-sama-zainstalowaa-a/