Jak działa update.zip?

14

update.zip s to pakiety zawierające zamienniki części systemu Android. Pakiety zawierają wszystkie pliki, które aktualizacja ma zastąpić, oraz skrypt, który wykona zamianę po uruchomieniu.

Update.zips może pochodzić z aktualizacji OTA, ale w niektórych przypadkach konieczne jest ręczne pobranie i umieszczenie update.zip w specjalnym folderze. Jednak update.zip jest nadal wykrywany i stosowany w ten sam sposób.

Jaka część Androida wykrywa i obsługuje update.zips?

enthdegree
źródło

Odpowiedzi:

18

update.zip nigdy nie są dotykane przez Androida.

Wewnątrz tego archiwum znajduje się skrypt analizowany i interpretowany przez środowisko wykonawcze Recovery.

Odzyskiwanie podczas wykonywania otwiera archiwum przez rozpakowanie do katalogu tymczasowego, odczytuje skrypt, trafnie go nazywa update-script, analizuje i na podstawie składni wykonuje funkcję znaną dla odzyskiwania, funkcja ta może wykonać następujące czynności, aby nazwać tylko mało:

  • podłączanie /systemi inne systemy plików oraz wykonywanie operacji odczytu / zapisu plików, w tym kopiowanie jądra lub apk, a nawet formatowanie partycji itp.
  • sprawdź build.propokreślone właściwości, takie jak urządzenie, producent itp
  • wyświetlanie wydruku na ekranie, informacje o postępie itp

Jest to de facto standard wbudowany w Android Open Source Project (AOSP)

ClockworkMod, TWRP to pochodne wersji barebone, która znajduje się w AOSP z dodatkowymi ulepszeniami, takimi jak wprowadzanie danych na ekranie dotykowym.

t0mm13b
źródło
+1 bardzo interesujące. Więc odzyskiwanie nie jest częścią samego Androida? Co to obejmuje? Część systemu Linux, oddzielna jednostka?
RossC
2
@RossC Odpowiednie środowisko odzyskiwania, znajduje się na osobnej /recoverypartycji (niektórzy producenci nie robią tego z nieznanego powodu, pseudo odzyskiwanie) bez ograniczeń system Android, w zależności od odzyskiwania zapasów, ograniczona powłoka vs CWM / TWRP, który zawiera więcej, oprócz uprawnień roota . Prawdziwą rozkoszą moddera jest urządzenie, które ma osobną partycję do odzyskiwania.
t0mm13b
1
/recoverynie wygląda jak partycja. W Linuksie to tylko katalog. Może to być zamontowana partycja - ale wciąż jest to tylko katalog. Mówię to, ponieważ jest to powszechne nieporozumienie, które zauważyłem u użytkowników Androida.
jcora
@yannbane - spróbuj tego cat /proc/mtdlub spójrz na to /proc/partitions, jak działa bootloader. Jeśli zostanie naciśnięty vol dwn, bootloader odczyta jądro /recoveryi załaduje go, przywracając zapas lub przywracanie niestandardowe. To nie jest linux ....
t0mm13b