UWAGA!!! Tzw. rootowanie urządzenia z Androidem zazwyczaj narusza warunki gwarancji. Należy rozważyć możliwe konsekwencje przed przystąpieniem do wykonania poniższej procedury.
Wszystkie podane poniżej polecenia sprawdziłem i wykonałem na posiadanym przeze mnie urzadzeniu. Są one bezpieczne dla tabletu jednak nie biorę żadnej odpowiedzialności za uszkodzenia systemu i/lub sprzętu, które wynikną z przeprowadzenia powyższej procedury.
W tym przypadku moja zasługa jest stosunkowo niewielka. Posłużyłem się świetnym i prostym opisem stworzonym przez PMS z polskiego forum tematycznego android.com.pl.
Dla osób chcących skorzystać z oryginału (lub wykonać rootowanie z systemu Kubuntu/Ubuntu/Xubuntu) podaję → bezpośredni link do postu.
Czynności wykonałem na tablecie Mistral traveler II (MI-T72A) z wgranym Androidem 4.0.3. Podawane przeze mnie nazwy opcji pochodzą z tego tabletu, ale w zależności od urządzenia i wersji systemu mogą się nieco różnić.
Do dzieła...
- Przede wszystkim należy przejść do ustawień (na tablecie lub telefonie) do "Opcji programistycznych" i włączyć "Debugowanie USB" oraz w części "Zabezpieczenia" włączyć "Nieznane źródła"
- W Fedorze włączamy terminal i instalujemy niezbędne narzędzia
yum install android-tools
- Podłączamy tablet przez USB (nie montujemy) i sprawdzamy poleceniem lsusb czy urządzenie jest widoczne w systemie. W moim przypadku wygladało to tak:
$ lsusb
ID urządzenia w przypadku wszystkich tabletów MI-T72A powinien byc ten sam: 18d1:deed
Bus 001 Device 003: ID 18d1:deed Google Inc.
- Następne polecenia będziemy wykonywać jako root na Fedorze:
su -
Hasło: podajemy hasło roota
- Z konsoli uruchamiamy edytor tekstu
[root@localhost ~]# nano /etc/udev/rules.d/51-android.rules
wpisujemy w jednej linii:
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYSFS{idProduct}=="deed", MODE="0666"
i wychodzimy z zapisem.
- restartujemy udev oraz - na wszelki wypadek, bo na razie nie powinien działać - serwer ADB
[root@localhost ~]# systemctl restart systemd-udevd.service
[root@localhost ~]# adb kill-server
[root@localhost ~]# adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
- Sprawdzamy czy ADB widzi nasze urządzenie
[root@localhost ~]# adb devices
numer urządzenia może się różnić od widocznego powyżej.
List of devices attached
13010710000000000022 device
- Przygotowania po stronie Fedory skończone - teraz będziemy z Fedory działać na Androidzie.
Najpierw zachowamy ustawienia naszego tabletu, żeby móc je pod koniec procesu odtworzyć.
Dla ustalenia uwagi zakładam, że pliki zapisujemy i rozpakowujemy do katalogu /katalog. Oczywiście można zapisać pliki w dowolnym innym katalogu i odpowiednio zmodyfikować dalsze polecenia.
[root@localhost ~]# adb backup -f /katalog/settings.ab com.android.settings
W tym miejscu Fedora czeka na zezwolenie wykonania backupu. Pozwolenie takie dajemy odblokowując urządzenie z Androidem i wciskając widoczny na ekranie Andka przycisk "Utwórz kopię zapasową danych".
Now unlock your device and confirm the backup operation.
Upewniamy się, że plik został utworzony:
[root@localhost ~]# ls -l /katalog/settings.ab
-rw-r----- 1 root root 796971 11-11 10:37 settings.ab
- Instalujemy plik special_ab.bin, który utworzy w tablecie plik /data/local.prop. Ściągamy go ze strony Android ICS "adb restore" directory traversal vulnerability. Plik jest załącznikiem do zamieszczonego pod tym adresem posta.
[root@localhost ~]# adb restore /katalog/special_ab.bin
- Restartujemy tablet.
- W czasie restartu tabletu ze strony AndroidSU.com ściągamy plik Superuser-3.1.3-arm-signed.zip i rozpakowujemy.
- Wciąż jako root wykonujemy polecenia:
[root@localhost ~]# adb remount
i pliki su i Superuser.apk znalazły się na tablecie
[root@localhost ~]# adb push /katalog/system/bin/su /system/bin
[root@localhost ~]# adb shell chmod 4755 /system/bin/su
[root@localhost ~]# adb push /katalog/system/bin/su /system/xbin
[root@localhost ~]# adb shell chmod 4755 /system/xbin/su
[root@localhost ~]# adb install /katalog/system/app/Superuser.apk
- Usuwamy z tabletu /data/local.prop (zmodyfikowany wcześniej przez special_ab.bin) oraz odtwarzamy nasze ustawienia zapisane wcześniej do settings.ab
[root@localhost ~]# adb shell rm /data/local.prop
[root@localhost ~]# adb restore /katalog/settings.ab
- Restartujemy ponownie tablet i możemy cieszyc się zrootowanym systemem Android :)