Como o update.zip funciona?

14

update.zip s são pacotes que contêm substituições de partes de um sistema Android. Os pacotes contêm todos os arquivos que a atualização pretende substituir e um script que fará a substituição quando for executado.

O Update.zips pode vir de atualizações do OTA, mas em alguns casos é necessário fazer o download manualmente e colocar o update.zip em alguma pasta especial. No entanto, o update.zip ainda é detectado e aplicado da mesma maneira.

Qual parte do android detecta e lida com update.zips?

entenda
fonte

Respostas:

18

update.zip nunca são tocados pelo Android.

Dentro desse arquivo, há um script que é analisado e interpretado pelo tempo de execução do Recovery.

A Recuperação, na execução, abre o arquivo descompactando em um diretório temporário, lê o script, apropriadamente nomeado update-script, analisa-o e, com base na sintaxe, executa uma função conhecida pela Recuperação, que pode fazer o seguinte, para nomear apenas um poucos:

  • montar /systeme outros sistemas de arquivos e executar operações de leitura / gravação de arquivos, incluindo a cópia do kernel ou um apk ou até mesmo a formatação de uma partição, etc.
  • verifique se build.prophá certas propriedades, como dispositivo, fabricante, etc.
  • imprimir a tela, informações de progresso, etc.

É praticamente um padrão de fato incorporado ao Android Open Source Project (AOSP)

ClockworkMod, TWRP são derivados da versão barebones que reside no AOSP com aprimoramentos adicionais, como entrada na tela sensível ao toque.

t0mm13b
fonte
+1 muito interessante. Então a recuperação não faz parte do próprio Android? Em que se enquadra? Parte do Linux, uma entidade separada?
RossC 22/02
2
@RossC O ambiente de recuperação adequado reside em uma /recoverypartição separada (alguns fabricantes não fazem isso por algum motivo desconhecido, pseudo recuperação) barebones limitados ao Android, dependendo da recuperação de estoque, shell limitado versus CWM / TWRP, que inclui mais privilégios de root . O prazer de um modder real é um dispositivo que possui uma partição separada para recuperação.
t0mm13b
1
/recoverynão parece uma partição. No Linux, isso é apenas um diretório. Ele poderia ser um montado partição - mas ainda é apenas um diretório. Digo isso porque é um equívoco comum que reparei nos usuários do Android.
jcora
@yannbane - tente isso cat /proc/mtdou veja /proc/partitionscomo é o gerenciador de inicialização, se o vol dwn for pressionado, o gerenciador de inicialização lê o kernel /recoverye carrega em cadeia, trazendo recuperação de estoque ou personalizada. É não linux ....
t0mm13b