왜 앱 업데이트가“업데이트”대신 전체 앱을 다운로드합니까?


10

Android (또는 iOS)에서 앱을 업데이트하기 위해 실제 "업데이트"대신 전체 앱이 다운로드되는 것이 다소 이상합니다.

내가 이상한 것을 발견하는 이유는 Windows에서 앱을 업데이트하는 동안 전체 앱이 아닌 업데이트 파일 만 다운로드되기 때문에 시간과 데이터 사용량을 모두 절약하기 때문에 더 실용적인 것입니다.

이것은 가장 사소한 것처럼 보이지만 작은 기능 추가 / 버그 수정을 위해 거대한 앱을 다운로드 해야하는 경우 실제 PITA가됩니다.

이 모델이 구현 된 이유에 대한 설명이 있습니까?

답변:


13

내가 아는 한 Jellybean 4.1 이상에서 업데이트 ( "델타"라고 함) 만 다운로드합니다. 분명히 초기 설치는 전체 응용 프로그램이지만 업데이트는 현재 설치된 버전 (예 : "델타")에서 변경된 데이터 만 다운로드합니다. 대부분의 앱을 업데이트 할 때 다른 점이 표시되지 않지만 여전히 전체 앱을 다운로드하는 것처럼 보이지만 일부 더 큰 앱에서는 다운로드의 일부가 '델타를 얻는 중'이라는 것을 알 수 있습니다.

EngadgetAndroidCentral 에는 Play 스토어가 델타 업데이트를 제공한다는 기사가 있습니다.


1
더 큰 앱이 얼마나 "큰"가요? Usain Bolt를 사용하려면 Temple Run 2 전체를 다운로드해야합니다. 어쨌든 기사를 공유해 주셔서 감사합니다.
Gh0sT

잘 모르겠습니다. 아스팔트 6 (최소 1GB)과 같은 경우 과거의 변경 사항 만 다운로드했으며 큰 업데이트에만 적용되거나 델타를 생성 할 수 없었을 수도 있습니다. 어떤 이유로 템플 런 2 업데이트? 특정 비율보다 적은 경우에만 델타를 생성 할 수 있습니다. (NB.이 모든 것은 제 생각입니다)
bmdixon

델타는 순간적이지 않습니다. 업데이트를 Play 스토어로 푸시 한 직후 업데이트를 다운로드하면 델타가 생성되지 않았을 수 있습니다. (그냥 추측)
Matthieu Harlé

4

안드로이드 개발자로서 나는 똑같은 생각을했는데 한 줄의 코드를 변경하는 것을 잊어 버렸기 때문에 적어도 한 번 말하기가 실망스럽고 그 한 줄이 잘못되어 앱이 로그 문을 남겼습니다. 권리.

이 질문은 SO에 대해 제기되었지만 여기서도 주제 이며이 질문은 계속 남아 있어야한다고 생각합니다.

그래서 질문 : /programming/18045290/for-mobile-app-updates-why-does-the-entire-app-need-to-be-downloaded-again

안드로이드 개발자로서 소프트웨어가 패키지되는 방식이어야합니다. 모든 안드로이드 앱은이라는 압축 파일로 압축됩니다 .apk. 이 파일에는 앱이 작동하는 데 사용되는 모든 코드, 레이아웃 파일 및 이미지가 들어 있습니다. 파일의 일부만 업데이트하는 것은 어렵습니다. 특히 압축 된 경우 개발자에게 ProGuard와 같은 보안 기능이 활성화되어 있으면 패치를 구현할 수 없습니다.

Google에도 패치를 허용하지 않는 몇 가지 보안 이유가 있다고 확신합니다. 코드 패치는 예상치 못한 보안 허점과 취약점을 남기는 경향이 있습니다.


2
AFAIK 델타 업데이트는 약 반년 전에 GPlay에 도입되었습니다. 그리고 예, 바이너리 diff와 같은 것이 있습니다. 기본적으로 .apk버전을 비교하고 필요한 델타를 만들기 위해 Google 서버에서 압축을 풀 수도 있습니다. 실제로 어떻게되는지 모르겠습니다.
Izzy

저는 지금 이것에 매우 관심이 있습니다. 개발자로 이것을 선택해야합니까, 아니면 Google에서이를 관리합니까?
John

1
@John Google은 자동으로 수행하므로 개발자가 조치를 취할 필요가 없습니다.
onik

-1

기본적으로 Android 애플리케이션 패키지 파일 (* .apk) 파일은 앱 코드를 게시 할 준비가 된 후 생성됩니다.이 파일은 컴파일 및 빌드 후 DALVIK 변환 프로세스에서 생성됩니다.

이 파일에는 이미지, 오디오, 레이아웃, 클래스,

그리고 Windows가 .NET 프레임 워크와 Linux 프레임 워크에 관한 한 다른 방식으로 작동합니다 ...

특정 코드 만 바꾸려면 안드로이드에서 그렇게 할 수 있지만 보안을 위해 해당 앱에 다시 서명해야합니다.

DALVIK의 기능은 되돌릴 수없는 프로세스이므로 새로운 기능이 추가되면 이전 버전이 모르는 상태에서 어떻게 액세스합니까?

그것이 제대로 작동하고 제대로 작동 할 수 있도록 전체 앱을 업데이트해야하는 이유입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.