Ich finde es ziemlich seltsam, dass zum Aktualisieren einer App in Android (oder sogar iOS) die gesamte App heruntergeladen wird und nicht nur die eigentlichen "Updates".
Der Grund, warum ich das seltsam finde, ist, dass in Windows beim Aktualisieren einer App nur die Aktualisierungsdateien heruntergeladen werden - nicht die gesamte App - was praktischer ist, da dies sowohl Zeit als auch Datennutzung spart.
Dies scheint für die meisten trivial zu sein, aber wenn Sie eine riesige App nur für eine winzige Funktionserweiterung / Fehlerbehebung herunterladen müssen, wird sie zu einer echten PITA.
Hat jemand eine Erklärung, warum dieses Modell implementiert wurde?
Als Android-Entwickler dachte ich das Gleiche, es war gelinde gesagt frustrierend, weil ich einmal vergessen hatte, eine Codezeile zu ändern, und diese eine Zeile falsch war, was dazu führte, dass die App die Protokollanweisungen links und links ausspuckte richtig.
Diese Frage wurde auf SO gestellt, aber sie ist auch hier zum Thema und ich denke, diese Frage sollte bleiben.
SO Frage: /programming/18045290/for-mobile-app-updates-why-does-the-entire-app-need-to-be-downloaded-again
Als Android-Entwickler müsste ich davon ausgehen, wie die Software verpackt ist. Jede Android-App wird in eine komprimierte Datei namens an gepackt
.apk
. Diese Datei enthält den gesamten Code, die Layoutdateien und die Bilder, mit denen die App funktioniert. Es ist schwierig, nur einen Teil einer Datei zu aktualisieren, insbesondere wenn sie komprimiert ist und wenn der Entwickler Sicherheitsfunktionen wie ProGuard aktiviert hat, ist es nahezu unmöglich, einen Patch zu implementieren.Ich bin sicher, Google hatte auch einige Sicherheitsgründe dafür, Patches nicht zuzulassen. Code-Patches hinterlassen in der Regel unerwartete Sicherheitslücken und Sicherheitslücken.
quelle
.apk
könnte das auch einfach auf Google-Servern entpackt werden, um zwischen Versionen zu vergleichen und die notwendigen Deltas zu erstellen. Obwohl ich nicht weiß, wie es tatsächlich gemacht wird.Grundsätzlich wird die Datei der Android-Anwendungspaketdatei (* .apk) erstellt, nachdem der App-Code zur Veröffentlichung bereit ist. Diese Datei wird nach dem Kompilieren und Erstellen und aus dem DALVIK-Konvertierungsprozess erstellt.
Diese Datei enthält alle Ressourcen, z. B. Ihre Bilder, Audiodateien, Layouts, Klassen,
Und was Windows betrifft, funktionieren sowohl das .NET Framework als auch das Linux Framework auf unterschiedliche Weise ...
Wenn Sie nur bestimmten Code des ersetzen möchten, können Sie dies in Android tun, aber aus Sicherheitsgründen müssen Sie diese App erneut signieren.
Was DALVIK tut, ist ein irreversibler Prozess. Wenn also eine neue Funktion hinzugefügt wird, wie wird die alte Version darauf zugreifen, ohne es zu wissen?
Aus diesem Grund muss die gesamte App aktualisiert werden, damit sie ordnungsgemäß funktioniert.
quelle