소프트웨어개발/Android

다른 PC의 안드로이드 스튜디오에서의 APK 설치 에러

날개 2015. 2. 17. 13:52

개발작업을 하다보면 개발하던 소스코드를 다른 PC에서 작업해야 할 일이 생기는 경우가 많습니다.


제 경우에는 집과 작업실을 왔다갔다하며 작업을 하기 때문에 그런 경우가 더 많이 발생을 하는군요.


두대의 PC가 모두 같은 개발용 키스토어를 사용하고 있는 경우라면 상관 없겠지만, 다른 경우에는 안드로이드 스튜디오에서 해당 소스코드를 빌드해서 배포(설치)하려고 하면, 인증서가 달라서 단말기에 설치된 앱을 삭제하고 재설치 한다는 경고가 뜨게 됩니다.


그런데 잘 되면 다행이지만 가끔씩 이 과정이 꼬이는 일이 발생을 합니다. 그런 경우에 맞닥뜨리게 되는 에러메시지가,


DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/패키지명"

pkg: /data/local/tmp/패키지명

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]


또는


DEVICE SHELL COMMAND: pm uninstall -r 패키지명

DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/패키지명"

pkg: /data/local/tmp/패키지명

Failure [INSTALL_FAILED_INTERNAL_ERROR]


입니다.



이 에러가 한번 발생하면, 계속 아래와 같은 에러메시지가 반복되면서 배포가 불가능해 집니다.



해결 방법은 구글을 검색해 보니 다양한 방법이 나옵니다. 요지는 단말기에 설치되어 있는 해당 앱의 키스토어와 현재 PC의 키스토어가 달라서 생기는 문제인데, 정상적이라면 기존앱을 삭제하고 새로 설치 할 수 있어야 하지만 꼬이게 되면 삭제가 안됩니다.


이래저래 해도 안되면 최종 방법이 앱을 단말기에서 수동으로 삭제하면 되는 것인데, 문제는 안드로이드 스튜디오에서 (사실상 adb 에서) 삭제를 시도하다가 꼬이면, 단말기 런처상에서는 이미 아이콘이 삭제되어 단말기상에서 앱의 언인스톨이 불가능한 사태가 벌어지는 경우가 있다는 거죠.


구글 검색을 해보면, 앱과 데이터가 모두 삭제가 되어야 하는데 앱만 삭제되고 데이터는 남아버리는 경우 이럴 수 있다고 하는것 같습니다.


해결 방법은 직접 터미널에서 adb로 언인스톨 명령을 내리면 된다고 하는데, 실제로 해보면 권한 에러가 납니다. 즉, 그 방법은 단말기가 루팅이 되어 있지 않으면 사용할 수 없는 방법입니다.


최후의 방법은 단말기를 공장 초기화 하는 것이라는데, 실 사용도 겸하는 단말기를 공장 초기화 하면 일이 커지죠.


상황에 따라 다를 수 있지만, 제 경우는 이래저래 시도하다 우연히 아래와 같이 하니 해결이 되었습니다.

(이 경우 상황에 여러가지이므로 이 방법이 꼭 성공한다는 보장은 없습니다. 다만, 이런 저런 방법 다 써보고 남은 방법이 단말기 공장 초기화 밖에 안남은 경우에 한번 시도해 보는 것은 어떨까요?)


먼저, '안드로이드 파일 전송'을 실행합니다. 

내부 저장소에서 'data' 폴더를 엽니다.

'build' 폴더를 엽니다.

위와 같이 알 수 없는 문자들로 된 폴더들이 나타납니다.


이 폴더들을 삭제 합니다.


삭제 하고 안드로이드 스튜디오에서 다시 실행-배포를 시도해 봅니다.




위 화면과 같이 정상적으로 설치가 되는 것을 볼 수 있습니다.


제 경우 몇번 이런 경우가 있었습니다만, 위 방법으로 해결이 되었습니다.


하지만, 다양한 경우가 있을 수 있으므로 이 방법이 꼭 성공한다고 보장은 못합니다.


시도해 볼수 있는 여러 방법중 하나라고 생각이 됩니다.



(C) 2015 WingsNote.com, 무단 복제 게시 금지. 링크 허용.