갤럭시S2 KT내장앱 구글마켓에서 업데이트 불가.

결론부터 말하자면 KT의 뻘짓병신 정책으로 인하여 구글 Play마켓에서 업그레이드 불가한 상태다.
올레마켓 사용을 강제하는 KT의 병신 정책이다.

이번 갤럭시S2 ICS 업데이트와 더불어 KT 내장앱(프리로드 앱)도 버전업이 되었다. 예를 들자면 모바일고객센터가 2.0.0 으로 업데이트 된 것. 근데 마켓에는 이미 2.1.1 버전이 릴리즈된 상황이다. 삼성에 어플 제공한 시점과 ICS업데이트 발표시간 사이에 갭이 크기에 이런 문제가 생기는 건데…

여하튼, KT 통합회원 ID를 사용하려면 모바일고객센터 앱을 업데이트 해야 한다. 마켓에서 검색 잘 되는거까진 좋은데, 정작 설치하려면

이건 무슨 개소리야…

대략 이런 벙찌게 만드는 오류가 뜬다. 아 살려줏메…
갤럭시탭에서 업데이트된 apk를 추출, 설치시도를 해 보았다. 그 결과

이건 또 무슨 개소리야…

조금 더 나은 설명을 얻어낼 수 있었다.
“서명이 충돌하는 같은 이름의 기존 패키지가 이미 설치되어 있습니다.”

이게 무슨 개소리냐 하니, 기본적으로 안드로이드 어플은 자바 기반이라, 고유의 패키지 이름을 갖게 된다. 개발해 본 사람은 많이 봤을거다. 어디에서나 써먹는 com.my.HelloWorld. 비슷하게 모바일고객센터는 com.ktshow.cs 라는 패키지 이름으로 계속 개발되고 있다. 이건 어플리케이션 고유값이라, 버전업 할 때에도 이 값은 계속 유지가 된다. 당연히 KT도 이 값은 유지하고 있고.

근데 문제는, 저 “서명”이다. 막말로 내가 “com.ktshow.cs” 라는 패키지 이름으로 “KT망해버려” 어플을 만들어서 마켓에 올렸다고 해 보자. 이걸 다운로드하면, 같은 패키지 이름의 구버전은 삭제되고 신버전이 설치된다. 모바일고객센터가 KT망해버려 로 바뀌는 것. 좋은 어플리케이션 탈취다. 이런 상황을 방지하기 위하여, 어플리케이션 apk를 만들 때(패키징할 때)에는 개발자 고유의 서명 데이터를 넣는다. 안드로이드에서는 패키지 이름이 같아도 구버전과 신버전의 서명이 다르면 저런 식으로 업글을 거부하는 것.

그리고 apk를 뜯어본 결과, 실제로 KT도 서명 인증서가 바뀌었다. 프리로드 2.0.0 버전에서는 KT Android Device CA – Public1 이라는 인증서로 서명한 반면 현재 마켓에 올라온 2.1.1 버전은 KTShow1 이라는 인증서로 서명한 것 같다. 여하튼, 흔히 이런 경우에는 때에는 구버전을 수동으로 삭제하고 신버전을 설치하면 된다. 데이터는 삭제되겠지만 업글은 가능하다.

근데 문제는, 구버전이 “프리로드”, 그러니까 시스템 파티션에 박혀 있다는 점. 그러니까-

루팅 안하면 못지워. 업글도 못해.

@FamiTweet 님의 정보에 따르자면, 프리로드앱, 그러니까 KT Android Public1은 올레마켓(KT에서 운영하는 사설 앱스토어)에서 사용하는 인증서이고, KTShow1은 구글 Play마켓에 올릴 때 사용하는 인증서라고 한다. 그러니까, 같은 바이너리를 굳이 서명만 달리하여 판매하는 중이다.

타 통신사 단말 및 구글판 안드로이드가 올라가는 넥서스 시리즈에서는 구글 Play마켓에서 다운로드가 가능한 반면, 통신사 수정으로 프리로드 앱이 들어간 KT용 단말에서는 무조건 올레마켓에서만 업데이트가 가능하다는 소리다. 아니면 루팅하고 프리로드 앱 지우던지.

KT 좆이다.

루팅을 심각하게 고민중이다. 엿먹어라 KT.

빡쳐서 30분만에 루팅하고 프리로드 앱 다 날려버렸다. 엿먹어라 KT

One thought on “갤럭시S2 KT내장앱 구글마켓에서 업데이트 불가.

  1. SoulJMJ

    지금은 플레이스토어에도 모바일고객센터가 사라졌더군요 ㅡ,ㅡ;
    가끔 뜨긴 하는데 그때 외에는 올레마켓에서도 업글 불가능하고. (‘어플리케이션이 설치되지 않았다’네요). 망했어요 ㅜㅜ

    응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다