응용 프로그램을 업데이트하려고 할 때 [INSTALL_FAILED_ALREADY_EXISTS] 실패


388

이전 버전과 동일한 서명을 가진 새 버전으로 applcation을 업데이트하려고 할 때 위의 오류가 표시됩니다.

내가 무엇을 놓치고 있습니까?

답변:


756

응용 프로그램을 통해 장치에 응용 프로그램을 설치하는 경우 adb install다시 설치 옵션을 찾아야합니다 -r. 따라서 adb install -r설치를 제거하지 않으면 이전에 제거하지 않고도 설치할 수 있습니다.


1
adb install -r항상 작동하지는 않습니다 (스프린트에서 예상대로 작동을 거부하는 EVO 4G가 있습니다). 내가 찾은 유일한 해결 방법은 응용 프로그램을 수동으로 제거하는 것입니다. 때로는 EVO가 너무 기질 적이기 때문에 전화의 UI를 통해해야 할 수도 있습니다.
jww

21
adb install -r먼저 제거하고 앱을 설치 또는 업그레이드 할지 여부를 알고 싶었 기 때문에 여기에 왔습니다 . 하지만 adb의 설명은 매우 명확하지 않습니다 ( -r : 기존 응용 프로그램을 대체 ), adb install -r참으로 귀하의 응용 프로그램을 업그레이드 않으며, 앱 데이터를 제거하지 않습니다. 따라서 앱 업그레이드를 테스트하는 데 적합합니다 (이것은 내가 찾고 있던 정보입니다).
Thibault D.

8
주장하는 사람들 adb install -r에게는 효과가 없습니다. .apk설치하려는 .apk파일이 장치에 설치된 파일 과 동일한 개발자 인증서로 서명되지 않은 것 같습니다 . 디버그 앱을 설치 한 다음 릴리스 앱 또는 다른 방법으로 설치하려고하면 쉽게 발생합니다. 동일한 인증서로 서명되지 않은 응용 프로그램은 업데이트 할 수 없습니다.
Thibault D.

1
여러 계정을 사용하는 경우 모든 계정에서 제거해야 할 수 있습니다 (GregP의 답변 참조). 내가 그렇게 한 후에 이것은 나를 위해 일했습니다.
JD Sandifer

작동하지 않는, 내 응용 프로그램은 시스템의 응용 프로그램입니다, 이것은 내 문제가 해결되지 않은 : /
htafoya

11

응용 프로그램과 동일한 패키지 이름을 가진 응용 프로그램이 이미 존재하기 때문에 오류가 발생합니다. 이전에 동일한 응용 프로그램을 설치하지 않은 경우 패키지 이름을 변경하고 시도하십시오.

그렇지 않으면 여기에 할 수있는 일이 있습니다.

  1. 장치에서 응용 프로그램을 제거하십시오. 설정-> 응용 프로그램 관리로 이동하여 제거를 선택하십시오. 또는
  2. adb 명령 행 인터페이스를 사용하여 앱을 설치 제거하십시오. type adb uninstall이 단계를 완료 한 후 애플리케이션을 다시 설치하십시오.

메뉴 나 앱 스토어에 내 앱이 나타나지 않았지만 Muhammad의 팁 덕분에 앱을 찾았습니다.
DavidP

2
이것은 좋은 해결책이 아닙니다. 앱에 SharedPrefs와 같은 상태가 저장되어 있으면 어떻게 되나요? 시스템에서 강제로 제거하는 경우 앱을 다시 재구성해야합니다!
IgorGanapolsky 2016 년

이것이 내가 필요한 솔루션이었습니다 adb uninstall my.package. 이상하게도, 그것은 않았다 하지 내가 제거 원했던하는 환경 설정이 제거 있지만 다시 설치에서 저를 차단 한 일이었다 패키지, 제거 않았다.
JMD

6

장치의 다른 사용자를 위해 응용 프로그램이 이미 설치되어 있음을 의미 할 수 있습니다. 사용자는 응용 프로그램을 공유합니다. 왜 그런지 모르겠지만 그렇습니다. 따라서 한 사용자가 업데이트하면 다른 사용자도 응용 프로그램이 업데이트됩니다. 하나에서 제거해도 다른 시스템에서는 앱이 제거되지 않습니다.


이것은 내 정확한 문제였습니다! adb 및 수동으로 제거를 시도했지만 adb install <package.apk>앱이 더 이상 앱 목록에 표시되지 않더라도 계속 실패했습니다. 그것은 밝혀이 아직 거기 내 장치에 다른 계정에 ... 감사합니다!
JD Sandifer

이것은 나를 위해 그것을 고쳤다. 모든 사용자에게 장치를 제거하기위한 정보를 보려면 설정> 앱으로 이동해야합니다. 앱을 탭하고 오른쪽 상단에있는 줄임표를 탭한 다음 모든 사용자를 위해 제거를 탭하십시오.
d219

3

설치하기 위해서

adb install -r exampleApp.apk

( -r기존 복사본을 대체하고 -s에뮬레이터에 설치 하는 경우 추가 )

앱이 동일하게 서명되고 동일한 debug/release변형 인지 확인하십시오.

보너스

내 별칭을 ~/.bash_profile2char 명령으로 설정했습니다.

alias bi="gradlew && adb install -r exampleApp.apk"

(빌드 및 설치를위한 짧은)


0

여전히 문제가 발생하면 명령 프롬프트를 사용하여 응용 프로그램을 제거하십시오. 명령 adb uninstall com.example.yourpackagename 을 추가 하고 다시 설치하십시오. 작동합니다!


0

내 Android 5 태블릿에서 adb를 사용하려고 할 때마다 서명 된 릴리스 APK를 설치하려고 할 때 [INSTALL_FAILED_ALREADY_EXISTS]오류가 발생합니다.

디버그 패키지를 먼저 제거해야합니다. 그러나 장치의 응용 프로그램 관리자를 사용하여 제거 할 수 없습니다 !

Application Manager로 디버그 버전을 제거하는 경우 Android Studio에서 디버그 빌드 변형을 다시 실행 한 다음adb uninstall com.example.mypackagename

마지막으로 adb install myApp.apk서명 된 릴리스 apk를 설치하는 데 사용할 수 있습니다 .

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