Я нахожу довольно странным, что для обновления приложения в Android (или даже iOS) загружается все приложение, а не только реальные «Обновления».
Причина, по которой я нахожу это странным, заключается в том, что в Windows при обновлении приложения загружаются только файлы обновления, а не все приложение, что более практично, поскольку экономит время и данные.
Для большинства это может показаться тривиальным, но когда вам нужно загрузить огромное приложение только для небольшого добавления / исправления ошибки, оно становится настоящей PITA.
У кого-нибудь есть объяснение, почему эта модель была реализована?
Как разработчик Android, я думал о том же, это было неприятно, если не сказать больше, потому что однажды я забыл изменить одну строку кода, и он ошибся с этой одной строкой, в результате чего приложение выплюнуло левые операторы и верно.
Этот вопрос был задан на SO, но он также здесь по теме, и я думаю, что этот вопрос должен остаться.
SO Вопрос: /programming/18045290/for-mobile-app-updates-why-does-the-entire-app-need-to-be-downloaded-again
Как разработчик Android, я думаю, должно быть, как программное обеспечение упаковано. Каждое приложение для Android упаковывается в сжатый файл, который называется
.apk
. Этот файл содержит весь код, файлы макетов и изображения, используемые для работы приложения. Довольно сложно обновить только часть файла, особенно когда он сжат и если у разработчика включены функции безопасности, такие как ProGuard, практически невозможно внедрить исправление.Я уверен, что Google также имел некоторые причины безопасности для запрета патчей. Патчи кода, как правило, оставляют непредвиденные дыры в безопасности и уязвимости.
источник
.apk
также можно просто распаковать на серверах Google, чтобы сравнить их между версиями и создать необходимые дельты. Хотя я не знаю, как это на самом деле делается.В основном файл пакета приложения Android (* .apk) создается после того, как код приложения готов к публикации. Этот файл создается после компиляции и сборки и из процесса преобразования DALVIK,
Этот файл содержит все ресурсы, т.е. ваши изображения, аудио, макеты, классы,
А что касается окон .NET Framework и Linux Framework оба работают по-разному ...
Если вы хотите заменить только определенный код, вы можете сделать это в Android, но для безопасности вам нужно снова подписать это приложение.
То, что делает DALVIK, является необратимым процессом, поэтому, если новая функция добавлена, то как старая версия получит к ней доступ, не зная об этом ??
Вот почему требуется обновить все приложение, чтобы оно могло работать и функционировать должным образом.
источник