마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

FTP서버에서 APK파일 추가된 부분만 다운로드 받기 질문!

0 추천
으아.. 장문의 글을 써놨는데 키 한번 잘못 눌렀다고 다 날라갔네요.. ㅠㅠ...

제가 고수분들께 드릴 질문은 FTP서버에 등록된 APK파일과 유저들의 단말기에 설치된 APK파일의

버전이 다르면 새롭게 추.가.된. 부분만 다운로드 혹은 업데이트 받도록 하고 싶습니다.

 

현재 제가 구현한 부분은

APK파일을 FTP서버에 등록(업데이트) ->

유저의 단말기에 설치된 APK(or APP)의 버전과 FTP 서버에 등록된 APK버전을 비교 ->

FTP서버의 APK파일의 버전이 더 높으면 "새로 다운로드 진행"

 

여기서 문제가 "새로 다운로드 진행" 입니다.

말그대로 새로 다운로드 받기 때문에 전체 APK용량을 다시 다 다운받아 버립니다.

그러면 생기는 문제가 제가 APK파일에 로직을 추가, 수정하고 버전업을 시켜 FTP서버에 올리면

과금 유저들은 다시 다 다운받기 때문에 그때마다 자신의 데이터를 소모해버립니다.

제가 원하는 방법은 유저 단말기에 APK파일이 설치 되어 있다면

새롭게 추가되거나 수정된 부분만 받도록 하는 것입니다.

 

예를 들면 제가 2.0(APK 용량 22MB) 버전의 APK를 FTP서버에 등록하면 기존 1.0(APK 용량 20MB)버전을

가지고 있는 유저들의 단말기에 새롭게 늘어난 2MB부분만 다운로드 받도록 하고 싶습니다.

온라인 게임에서 게임을 실행하면 추가된 부분만 패치 받는것 처럼요..

구글 플레이 스토어는 자동으로 해주지 않나요?

개인 FTP서버에서는 이런식으로 구현할 수 없을까요?
민트라떼 (370 포인트) 님이 2015년 1월 7일 질문

2개의 답변

0 추천
불가능 한걸로 알고있습니다.

업데이트시 데이터 과금 메세지 표시해주시고, 와이파이 이용 하도록 처리하시는게 어떨까요?
익명사용자 님이 2015년 1월 7일 답변
그러한 방법도 생각해 보았는데요.
그래도 이미 구현되어 있는 부분 같기도 하고 유저 입장에서 좀 더 편하게
해주려고 하다보니..ㅠㅠ
0 추천
apk 간에 binary diff를 만들어서 올려놓고 다운받아서 패치하는식으로 적용이 가능할 것 같습니다만,

생각하신만큼 크기가 작아지지 않습니다.

예를 들어 22M 파일과 20M 파일의 binary diff를 만들어보면 보통은 2M 보다 크기가 더 커집니다.
익명사용자 님이 2015년 1월 7일 답변
apk 간에 binary diff라 하심은 어떤것을 말씀하시는건지 잘 모르겠습니다..ㅠㅠ
그래도 22M을 다 받는것 보다는 2M만 받게 하는게 좋을 것같아서요..ㅠㅠ
혹시 비슷한 문제를 참조할만한 데가 있을까요?
제 말을 이해못하신듯 한데, 2M 보다 커집니다. 경우에 따라서는 원본 보다도 커질 수도 있습니다.

binary diff는 구글링 잠깐만 해봐도 많이 나옵니다.
이전버전 20mb와 신버전 22mb의 차이 만큼 2mb를 받는 것이 아니라
2mb ~ ??? (신버전 이상)이 될수도 있다는 말씀인가요?
현재 binary diff 구글링 중입니다..ㅠㅠ
...