Acho bastante estranho que, para atualizar um aplicativo no Android (ou até no iOS), o aplicativo inteiro seja baixado em vez de apenas as "Atualizações" reais.
A razão pela qual acho isso estranho é que, no Windows, durante a atualização de um aplicativo, apenas os arquivos de atualização são baixados - não o aplicativo inteiro - o que é mais prático, pois economiza tempo e uso de dados.
Isso parece trivial para a maioria, mas quando você precisa baixar um aplicativo enorme apenas para uma pequena adição de recurso / correção de bug, ele se torna uma verdadeira PITA.
Alguém tem uma explicação sobre por que esse modelo foi implementado?
Como desenvolvedor do Android, eu pensei a mesma coisa, foi frustrante dizer o mínimo, porque uma vez eu esqueci de alterar uma linha de código e saiu com essa linha errada, o que fez com que o aplicativo cuspisse as instruções de log restantes e direita.
Esta pergunta foi feita no SO, mas também é um tópico aqui e acho que essa pergunta deve permanecer.
Pergunta do SO: /programming/18045290/for-mobile-app-updates-why-does-the-entire-app-need-to-be-downloaded-again
Como desenvolvedor Android, meu palpite deveria ser o modo como o software é empacotado. Todo aplicativo Android é compactado em um arquivo compactado chamado an
.apk
. Este arquivo contém todo o código, arquivos de layout e imagens usados para fazer o aplicativo funcionar. É meio difícil atualizar apenas parte de um arquivo, especialmente quando ele está compactado e se o desenvolvedor tiver recursos de segurança ativados como o ProGuard, seria quase impossível implementar um patch.Tenho certeza que o Google também teve alguns motivos de segurança para não permitir patches. Os patches de código tendem a deixar falhas e vulnerabilidades imprevistas de segurança.
fonte
.apk
ele também pode ser descompactado nos servidores do Google para comparar entre versões e criar os deltas necessários. Embora eu não saiba como é realmente feito.Basicamente, o arquivo do pacote de aplicativos para Android (* .apk) é criado após o código do aplicativo estar pronto para publicação. Esse arquivo é criado após a compilação e a criação e pelo processo de conversão do DALVIK,
Este arquivo contém todos os recursos, como imagens, áudio, layouts, classes,
E, no que diz respeito ao Windows, os frameworks .NET e Linux funcionam de maneira diferente ...
Se você deseja substituir apenas um determinado código do Android, é possível fazê-lo no Android, mas por segurança, é necessário assinar o aplicativo novamente.
O que o DALVIK faz é um processo irreversível, portanto, se uma nova função for adicionada, como a versão antiga o acessará sem saber?
Por isso, é necessário atualizar o aplicativo inteiro para que ele funcione e funcione corretamente.
fonte