답변:
내가 아는 한 Jellybean 4.1 이상에서 업데이트 ( "델타"라고 함) 만 다운로드합니다. 분명히 초기 설치는 전체 응용 프로그램이지만 업데이트는 현재 설치된 버전 (예 : "델타")에서 변경된 데이터 만 다운로드합니다. 대부분의 앱을 업데이트 할 때 다른 점이 표시되지 않지만 여전히 전체 앱을 다운로드하는 것처럼 보이지만 일부 더 큰 앱에서는 다운로드의 일부가 '델타를 얻는 중'이라는 것을 알 수 있습니다.
Engadget 과 AndroidCentral 에는 Play 스토어가 델타 업데이트를 제공한다는 기사가 있습니다.
안드로이드 개발자로서 나는 똑같은 생각을했는데 한 줄의 코드를 변경하는 것을 잊어 버렸기 때문에 적어도 한 번 말하기가 실망스럽고 그 한 줄이 잘못되어 앱이 로그 문을 남겼습니다. 권리.
이 질문은 SO에 대해 제기되었지만 여기서도 주제 이며이 질문은 계속 남아 있어야한다고 생각합니다.
그래서 질문 : /programming/18045290/for-mobile-app-updates-why-does-the-entire-app-need-to-be-downloaded-again
안드로이드 개발자로서 소프트웨어가 패키지되는 방식이어야합니다. 모든 안드로이드 앱은이라는 압축 파일로 압축됩니다 .apk
. 이 파일에는 앱이 작동하는 데 사용되는 모든 코드, 레이아웃 파일 및 이미지가 들어 있습니다. 파일의 일부만 업데이트하는 것은 어렵습니다. 특히 압축 된 경우 개발자에게 ProGuard와 같은 보안 기능이 활성화되어 있으면 패치를 구현할 수 없습니다.
Google에도 패치를 허용하지 않는 몇 가지 보안 이유가 있다고 확신합니다. 코드 패치는 예상치 못한 보안 허점과 취약점을 남기는 경향이 있습니다.
.apk
버전을 비교하고 필요한 델타를 만들기 위해 Google 서버에서 압축을 풀 수도 있습니다. 실제로 어떻게되는지 모르겠습니다.
기본적으로 Android 애플리케이션 패키지 파일 (* .apk) 파일은 앱 코드를 게시 할 준비가 된 후 생성됩니다.이 파일은 컴파일 및 빌드 후 DALVIK 변환 프로세스에서 생성됩니다.
이 파일에는 이미지, 오디오, 레이아웃, 클래스,
그리고 Windows가 .NET 프레임 워크와 Linux 프레임 워크에 관한 한 다른 방식으로 작동합니다 ...
특정 코드 만 바꾸려면 안드로이드에서 그렇게 할 수 있지만 보안을 위해 해당 앱에 다시 서명해야합니다.
DALVIK의 기능은 되돌릴 수없는 프로세스이므로 새로운 기능이 추가되면 이전 버전이 모르는 상태에서 어떻게 액세스합니까?
그것이 제대로 작동하고 제대로 작동 할 수 있도록 전체 앱을 업데이트해야하는 이유입니다.