Error: adb: failed to install [PROJECT_PATH]/android/app/build/outputs/apk/debug/app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.app.appname signatures do not match newer version; ignoring!]
Android 디버그/릴리즈 빌드 설치 시 발생하는 서명 불일치 에러 해결 방법
환경 정보
System:
OS: macOS 15.4.1
CPU: (10) arm64 Apple M4 Pro
Memory: 24 GB
SDKs:
Android SDK: 34
IDEs:
Android Studio: 2025.3.1
Languages:
Java: 17.0.9
npmPackages:
react: 19.1.0
react-native: 0.81.x❌ 에러 로그
Error: adb: failed to install [PROJECT_PATH]/android/app/build/outputs/apk/debug/app-debug.apk:
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package [PACKAGE_NAME] signatures do not match newer version; ignoring!]📌 원인
Android는 동일한 **패키지명(applicationId)**을 가진 앱이 설치되어 있을 때, **서명(Signature)**이 다르면 덮어쓸 수 없다.
주요 발생 상황:
- 기기에 릴리즈 빌드가 설치된 상태에서 디버그 빌드 설치 시도
- 서로 다른 키스토어(
debug.keystorevsrelease.keystore)로 빌드된 앱을 같은 패키지명으로 설치하려는 경우
🛠 해결 방법
1. 기존 설치된 앱 삭제 후 재설치
가장 간단한 해결 방법
adb uninstall [PACKAGE_NAME]
npx react-native run-android2. 디버그/릴리즈 앱 동시 설치
applicationIdSuffix를 추가하여 패키지명을 다르게 설정
android {
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
signingConfig signingConfigs.debug
}
release {
signingConfig signingConfigs.release
}
}
}설치 결과:
- 릴리즈 →
[PACKAGE_NAME] - 디버그 →
[PACKAGE_NAME].debug
3. 동일한 키스토어 사용
디버그 빌드도 릴리즈와 같은 키스토어를 사용하면 서명 충돌이 해결
android {
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
}
}
}⚠️ 주의: 이 경우 디버그 빌드에도 릴리즈 키스토어 패스워드가 필요함
✅ 정리
이 에러는 React Native 자체 문제가 아니라 Android의 서명 정책 때문에 발생함
상황별 해결 방법:
- 단순 테스트 →
adb uninstall사용 - 디버그/릴리즈 공존 →
applicationIdSuffix설정 - 동일 서명 유지 → 디버그도 릴리즈 키스토어 사용