[Expo]INSTALL_FAILED_UPDATE_INCOMPATIBLE

임기준·2025년 5월 17일

local build 오류 발생시

이 오류는 기존에 설치된 앱과 새로 설치하려는 앱의 서명이 다르기 때문에 발생하는 문제입니다. 이는 다음과 같은 상황에서 발생할 수 있습니다:

  1. 이전에 다른 키로 서명된 앱이 이미 에뮬레이터/기기에 설치되어 있는 경우
  2. 개발 과정에서 서명 키가 변경된 경우

해결 방법은 다음과 같습니다:
1. 먼저 기존 앱을 완전히 제거해야 합니다. 에뮬레이터나 디바이스에서 다음 명령어를 실행합니다:

adb uninstall com.openerzone.xxxxx
  1. 이제 기존 앱이 제거되었으니, 다시 앱을 설치합니다:
npx expo run:android

만약 위 방법으로도 문제가 계속된다면, 다음과 같은 추가 조치를 취할 수 있습니다:

  • 안드로이드 프로젝트 클린 빌드:
cd android
./gradlew clean

eas build 오류 발생시

EAS 빌드에서 INSTALL_FAILED_UPDATE_INCOMPATIBLE 오류가 발생하는 경우, 다음과 같은 방법으로 해결할 수 있습니다:

  1. 버전 업데이트
    먼저 app.json 또는 app.config.js의 버전 정보를 업데이트해야 합니다.
//app.json
{
  "expo": {
    ...
    "version": "1.0.1", //1.0.0 -> 1.0.1
  1. 안드로이드 versionCode 업데이트
    android/app/build.gradle의 versionCode도 증가시켜야 합니다:
//build.gradle
versionCode 2
versionName "1.0.1"

이제 다음 단계를 수행하시면 됩니다:
1. 변경사항을 커밋합니다.
2. 다시 EAS 빌드를 실행합니다

eas build --platform android

EAS의 경우 서버에서 기존 앱을 직접 제거할 필요는 없습니다. 대신 위와 같이 버전을 업데이트하고 새로운 빌드를 생성하면 됩니다. 새 버전의 앱은 다른 서명으로 인식되어 설치가 가능해집니다.

추가로 알아두실 점:

  1. versionCode는 항상 이전보다 큰 숫자여야 합니다.
  2. versionName은 사용자에게 보이는 버전이고, versionCode는 안드로이드 시스템이 사용하는 내부 버전 번호입니다.
  3. 개발 중에는 eas build --profile development를 사용하면 개발용 빌드를 생성할 수 있습니다.

이렇게 수정한 후 다시 EAS 빌드를 실행하시면 이전 오류가 해결될 것입니다.

profile
openerzone

0개의 댓글