컴파일 된 .apk를 장치에 설치하려고하면 INSTALL_FAILED_UPDATE_INCOMPATIBLE


291

CyanogenMod 9에서 Trebuchet 런처를 컴파일하고 adb로 설치하려고했습니다.

$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
    pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

CM9가있는 Nexus S와 주식 JB가있는 Galaxy Nexus를 사용해 보았습니다. 이 오류가 발생하는 이유는 무엇입니까?

편집 : 내 경우 에는 패키지 관리자로 시스템 패키지 를 다시 설치하려고했습니다 . 지원되지 않으므로이 오류가 발생했습니다. 귀하의 경우에 오류의 원인이 다를 수 있습니다.


2
여러 사용자 기능이있는 일부 최신 장치에서는 앱이 다른 사용자 (예 : 게스트 로그인) 용으로 설치되어 있는지 확인하십시오. 우리 회사의 테스터는 한 시간 동안이 문제로 어려움을 겪고 있었고, 나에게 왔을 때 5-10 분이 걸렸으며 같은 앱이 해당 장치의 다른 게스트 로그인으로 설치되어 있음을 알았습니다. 홈 화면에 표시되거나 설정에도 표시되지 않음
Shirish Herwade

답변:


500

설치하려는 응용 프로그램이 이미 설치되어 있음을 의미합니다. 이전 것을 제거하고 다시 시도하십시오.


27
나를 위해 일했지만 나도 한 번 재부팅해야했습니다.
droidgren

28
설정-> 응용 프로그램 관리로 이동하여 앱을 찾고 다른 곳에 표시되지 않았으므로 앱을 제거해야했습니다.
David Conlisk

23
또한 모든 사용자 계정에서 제거해야 할 수도 있습니다 (Nexus 10에는 3 명의 사용자가 있음).
Tyler Kiser

1
@TylerKiser 저 머리에 감사합니다.
Jacob Holloway

1
기존 앱을 업데이트하려고하면 어떻게됩니까? 이 내 마지막 응용 프로그램이 로컬로 저장 모든 것을 제거하는 것입니다
기적-DOH

184

시험

adb uninstall package-name

그것은 나를 위해 작동합니다. Titanium Backup을 사용하여 앱을 제거했습니다. 그러나 티타늄 백업으로 앱이 완전히 제거되지 않았다고 생각합니다.


1
DevDrawer를 사용하는 것과 동일한 것을 알았습니다. 이것은 효과가 있었다.
tir38

1
감사! 이것은 설명 할 수없는 거대한 두통에서 나를 구했다. 내가 어떻게이 상태에 있는지 잘 모르겠습니다 ... Xamarin Studio 및 Visual Studio에서 응용 프로그램을 디버깅하고 있으며 제대로 작동하지 않을 때까지 잘 작동했습니다 ...
Jamie

1
수락 된 답변에 대한 다른 모든 것이 실패했을 때 ...이 작동했습니다.
DennisWelu

큰! 간단하고 쉽습니다. 이 솔루션으로 재부팅 할 필요가 없습니다.
taciosd

그것은 나를 위해 작동합니다. 수동 제거 및 재부팅을 시도하기 전에 아무것도 변경하지 않고 adb 명령으로 만 작동합니다. 감사합니다.
ricky.tribbia

101

응용 프로그램을 제거하면이 문제를 피할 수 있습니다.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

그러나 때로는 메시지 제거가 다시 발생하면 Android OS 5.0 +에서 발생하므로 해결책입니다.

Settings>로 이동하면 Apps다음 메시지와 함께 앱을 찾을 수 있습니다.

"이 사용자에게는 설치되지 않았습니다" 여기에 이미지 설명을 입력하십시오

모든 사용자를 위해 수동으로 제거해야합니다! 그러면 컴파일 된 응용 프로그램을 문제없이 설치할 수 있습니다.

여기에 이미지 설명을 입력하십시오

다른 옵션들 :

  • 이전 응용 프로그램을 제거하고 다시 설치하십시오.
  • Android 디버그 브릿지 명령 사용 :

    adb 제거 [패키지 이름]


2
감사합니다! 이것이 내가 필요한 것입니다. 왜 이런 식으로 시작 했습니까?
Nick

분명히 OS 5.0 + 이후
Jorgesys

1
처음에는 설정-> 앱에서 제거 된 앱을 찾을 수 없었습니다. Lollipop 5.1.1에서 제거 된 앱은 앱 이름이 아닌 패키지 이름으로 나열되었습니다. 따라서 adb 제거를 수행 한 후에도 adb 설치가 실패하면 패키지 이름 아래에서 제거 된 앱을 찾으십시오. 따라서 com.acme.wileycoyote는 "w"가 아닌 "c"아래에 알파벳순으로 나열됩니다.
Yojimbo

고마워요! 전화기에 "모든 사용자 제거"옵션이 없습니다. 모든 사용자를 로그인하여 제거합니다 ...
DawnYu

1
사용자가 정확히 하나 인 경우 "모든 사용자"는 무엇입니까? 어쨌든 작동합니다.
WindRider

21

작동 할 수있는 두 가지 방법

1 : 모바일 장치에서 수동으로 앱 제거

2 : 명령 프롬프트 열기, 경로 추적 adb및 다음 명령 실행

adb uninstall your_package_name

2
디스플레이가없는 장치에서 작동하는 유일한 방법입니다.
DenisKolodin

1
예 : "adb uninstall net.gavin.hello"여기서 패키지 이름은 AndroidManifest.xml에 "package ="net.gavin.hello ""
Gavin Simpson

9

방금 패키지 이름을 바꾸고 나에게 도움이되었습니다.

또는 Ionic을 사용하는 경우 응용 프로그램을 삭제하고 다시 시도 할 수 있습니다. 이는 배포중인 앱이 동일한 빌드에서 온 것이 아니라고 이온이 감지 한 경우에 발생합니다. PC에서 변경할 때 종종 발생합니다.


아무것도 나를 위해 일하지 않았다. 좋은 생각 감사합니다!
Ken Pespisa

2
작업이 너무 많으면 apk를 백업하고 제거한 다음 다시 설치합니다.
pevik

Android 6.0.1에서는 작동하지 않았습니다. 기기에서 앱을 삭제하고 동일한 패키지를 다시 설치해야했습니다.
kakyo

13
"패키지의 이름을 바꿨습니다". 이것은 실제로 해결되지 않습니다. 실제로 다른 응용 프로그램을 만들고 있습니다!
Jorgesys 2019

8
  1. 이동 : adb 폴더 \ sdk \ platform-tools \
  2. cmd 유형
  3. type : 명령 창에서 adb remount
  4. adb 쉘
  5. rm /system/app/YourApp.apk
  6. 장치를 다시 시작

다시 마운트하는 것은 무엇입니까? 이것을 사용하여 릴리스 및 디버그 버전을 유지하고 쉽게 마운트하고 다시 마운트 할 수 있습니까?
piotrek1543

2
사용자의 APK가에 저장되지 않은만큼 이해가되지 않습니다 /system/app/data/app
m0skit0

@ piotrek1543은 adb remount시스템 파티션을 기본 읽기 전용 대신 읽기 / 쓰기로 다시 마운트합니다.
m0skit0

8

문제는 그가이 오류를 얻는 이유였습니다. 제거하면이 문제가 해결되지만 필자의 경우 컴파일 된 버전의 apk를 설치하는 동안 문제가 발생했습니다. 내 응용 프로그램에 대한 업데이트를 작성하려고했습니다. 그래서 내가 한 일은 서명 된 apk를 만든 다음 apk와 apk를 완벽하게 설치하려고했습니다. 따라서 이전 APK를 제거하는 대신 최신 업데이트에 서명 한 다음 설치해야했습니다.


1
여기도 마찬가지입니다. 업데이트 프로세스를 테스트하십시오. 따라서 제거는 옵션이 아닙니다.
Martin

6

기기에 둘 이상의 사용자가 있고 하나 의 앱을 방금 삭제 했기 때문에 ( apk는 다른 사람에게는 여전히 존재합니다 ).

모든 계정에서 삭제했으며 나중에 작동했습니다.


Google 계정을 의미합니까?
CACuzcatlan

네, 정확히 무슨 뜻입니까?
neteinstein

5

다른 인증서로 응용 프로그램에 서명하면 이런 일이 발생할 수 있습니다. 당신은 항상 사용할 수 있습니다

adb install -r myapk.apk

기기의 기존 APK를 덮어 쓰지만 설치된 APK의 인증서와 다른 인증서로 새 APK에 서명 한 경우에도 여전히 오류가 발생합니다.

이 시나리오에서는 설치를 시도하기 전에 장치에서 apk를 제거해야합니다. 그러나 원래 서명이 특정 Developor API와 연관 될 수 있으므로 응용 프로그램에 영향을 줄 수 있으므로 새 자격 증명으로 콘솔을 업데이트해야 할 수도 있습니다.


4

Astro 파일 관리자를 설치하고 이전 버전의 apk 파일을 검색하고 sdcard에서 하나를 찾아 Astro 파일 관리자를 사용하여 apk 파일을 삭제했습니다.


4

기기가 여러 사용자를 지원하는 경우 각 계정의 앱도 삭제해야 할 수 있습니다.

나는 보통 adb를 사용하고 그 트릭을 수행합니다. adb uninstall <your-package-name>


4

APK가 Android.mk 파일로 프로젝트에 빌드 된 경우 서명 인증서가 변경 되었기 때문일 수 있습니다.

내 문제에는 LOCAL_CERTIFICATE : = platform을 추가했습니다. 원래 apk는이 태그없이 서명되므로


이것은 실제로 의견이 아니라 답변입니다. 조금 더 많은 담당자와 의견을 게시 할 수 있습니다 .
Enamul Hassan

2

제 경우에는 장치 관리자 또는 Astro를 통해 찾을 수있는 앱 버전이 없었습니다.

내가 한 일은 다음과 같습니다.

1) 앱 스토어에서 최신 버전의 앱을 다운로드하십시오.

2) 장치를 다시 시작할 때까지 장치 관리자에 앱이 여전히 표시되지 않았습니다.

3) 장치 관리자에서 앱 제거

4) 프로젝트를 다시 실행하십시오

5) 모든 것이 작동

이것이 누군가를 돕기를 바랍니다.


2

C : \ android-sdk \ platform-tools \ adb.exe : 종료 코드 1로 명령이 실패했습니다.

오류 출력 : adb : app \ platforms \ android \ app \ build \ outputs \ apk \ debug \ app-debug.apk 설치 실패 : 실패 [INSTALL_FAILED_UPDATE_INCOMPATIBLE : 패키지 com.example. app1서명이 이전에 설치된 버전과 일치하지 않습니다. 묵살!]

해결책:

이미 app1휴대 전화에 앱이 설치되어 있습니다 (대부분 플레이 콘솔에서 다운로드하거나 업로드 키가 변경됨)
. 앱을 제거합니다.

자세한 내용은:

업로드 키를 사용하여 상점을 재생하고 콘솔에 자체 서명을 적용 하여이 앱을 이미 업로드했을 수 있습니다. Google Play에서 다운로드 한 휴대 전화 앱의 업로드 키 서명이 동일하지 않은 이유입니다.

앱을 제거하면 Play 스토어 버전의 앱이 없으므로 휴대 전화에 새 버전을 설치할 때 일치하지 않습니다.

희망이 도움이됩니다.



1
  1. 설정 / 앱 / 앱 검색으로 이동하여 제거 ...
  2. 명령 프롬프트를 열고 "adb uninstall"

그것은 나를 위해 일했다


1

MIUI 사용자의 경우 일반적인 USB 디버깅 옵션을 제외하고 다음 설정도 활성화해야합니다.

USB
USB 디버깅을 통해 설치 (보안 설정)

그런 다음 앱을 다시 설치하려고 할 때 프롬프트를 수락하십시오.


1

나는 같은 문제를 겪었고 그것을 고치기 위해 따라 갔다.

  1. 설정> 저장소> 캐시 된 데이터 지우기
  2. 설정> 앱> 여기에 표시된 앱을 제거합니다. 내 앱을 제거했지만 거기에 표시되었습니다.
  3. 다시 시작하면 모든 것이 잘되었습니다.

3
두 번째 요점이 도움이되었습니다. 제 경우에는 앱이 현재 사용자에게는 설치되지 않았지만 다른 사용자에게는 설치되었습니다. 따라서 앱 목록에서 앱을 클릭하고 세부 정보 페이지에서 더보기 버튼 (세 개의 수직 점)을 클릭했습니다. 여기에는 '모든 사용자를위한 제거'옵션이 있습니다. 그것은 나를 위해 그것을했다. 감사!
Harisewak

1

방금 이것을 디버깅하려고 한 시간을 보냈고 전화 대신 에뮬레이터에 연결되어 있음을 깨달았습니다. 따라서 휴대 전화에서 앱을 성공적으로 삭제했지만 여전히 실패했습니다. 어리석은 실수지만 다른 사람에게 도움이 될 수 있습니다.


0

필자의 경우 Playstore에서 응용 프로그램을 설치했으며 Eclipse 또는 Android Studio 에서 실행하려고 할 때 허용되지 않는 APK에 다시 설치하려고 시도합니다.

따라서 먼저 Siged APK 를 제거하고 그 후에 시도해야합니다.

감사합니다.


0

RankoR @ 다른 컴퓨터에서 응용 프로그램을 설치해야합니다. 내 경우에는 문제가 발생했습니다 .. 응용 프로그램을 제거하고 다시 설치하거나 작업중 인 컴퓨터에서 실행하면됩니다. 늦게 답변 할 수는 있지만 도움이 될 것입니다.


0

Instant Run을 사용하여 dev 빌드를 설치하고 Google Play에서 제거했을 때 나에게 일어났습니다. 어떤 이유로 Instant Run의 데이터는 여전히 장치에 있으며 앱을 다시 설치 / 제거 할 수 없습니다.

해결 방법 :-안드로이드 스튜디오에서 인스턴트 실행 비활성화-안드로이드 스튜디오에서 설치 (여기에서만 작동해야 함)-앱 제거

이제 Google Play 또는 adb에서 설치가 깨끗해야합니다.


0

다른 PC에서 APK를 빌드하고 다른 PC에서 APK를 업데이트하면 발생합니다.


이 경우에 대한 해결책은 무엇입니까?
dpaksoni

0

매니페스트 파일에 다음 줄이있는 경우-

android : sharedUserId = "android.uid.system"

이 오류가 발생했습니다! 이 줄을 주석으로 처리하면 좋습니다!


0

내 사례를 언급 한 사람이 없으므로 추가 할 수 있습니다. 앱을 하나의 모드 (예 : Dev)로 빌드 한 다음 다른 모드 (예 : 프로덕션)로 재정의하려고 할 때 발생합니다.

해결책은 다른 경우와 같습니다. 장치 / 시뮬레이터에서 앱을 삭제하고 다시 실행하십시오.


0

원래 컴퓨터가 아닌 다른 컴퓨터에서 디버그하려고하면 INSTALL_FAILED_UPDATE_INCOMPATIBLE 오류가 발생합니다. 그러나 앱을 제거하고 데이터를 잃지 않고 진행할 수있는 방법이 있습니다.

필요한 debug.keystore를 전송하는 방법을 보려면 "장치에 이미 동일한 응용 프로그램이 있지만 다른 서명을 가진 응용 프로그램이 있습니다. 계속 진행하려면 기존 응용 프로그램을 제거해야합니다."라는 메시지가 표시되지 않습니다. (그리고 데이터를 잃어 버립니다). android에서 동일한 debug.keystore로 다른 컴퓨터에서 앱 업데이트를 참조하십시오.


0

삼성 갤럭시 폰에는 보안 폴더 로 알려진 기능 이 있습니다.

또한 adb uninstall packagename은 보안 폴더에서 앱을 제거 할 수 없습니다.

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