APK 버전 비교 도구

APK 및 XAPK 버전 비교 도구 온라인

브라우저에서 두 개의 .apk, .xapk 또는 .apks 패키지를 나란히 비교해보세요. 암호화 서명 인증서가 일치하는지 확인하고(INSTALL_FAILED_UPDATE_INCOMPATIBLE 오류 방지를 위해) DEX 바이트코드, 네이티브 라이브러리 및 내부 항목의 차이점을 검사합니다.

패키지 A(구형/기본 버전)

첫 번째 .apk/.xapk 파일을 클릭하거나 드롭하세요.

패키지 B(신규/업데이트 버전)

두 번째 .apk/.xapk 파일을 클릭하거나 드롭하세요.

APK 버전을 비교하면 업데이트 실패를 방지할 수 있는 이유

기존 설치 위에 최신 버전의 Android 앱을 설치하는 경우 Android의 PackageManager는 두 가지 엄격한 규칙을 적용합니다. 즉, 새 패키지의 versionCode는 설치된 빌드보다 크거나 같아야 하며, 또는 APK 서명 블록 v2/v3 내부의 서명 인증서는 바이트 단위로 동일해야 합니다. META-INF/

  • 서명 인증서 다이제스트 일치: 두 패키지 모두에서 .RSA / .DSA / .EC 서명 블록의 SHA-256 지문을 계산하므로 제거하지 않고도 전체 업데이트가 성공하는지 즉시 알 수 있습니다.
  • 네이티브 ABI 및 DEX 차이점: 업데이트가 32비트 armeabi-v7a 라이브러리를 제거했는지 아니면 새 classes*.dex 파일을 추가했는지 여부를 강조 표시합니다.
  • CRC32 엔트리 델타: 빌드 간에 추가되거나 제거된 정확한 파일을 나열합니다.

Android가 패키지 업데이트를 평가하는 방법(INSTALL_FAILED_UPDATE_INCOMPATIBLE)

사이드로드된 앱을 업데이트할 때 사용자가 직면하는 가장 빈번한 오류 중 하나는 ADB 로그에서는 INSTALL_FAILED_UPDATE_INCOMPATIBLE로 알려짐입니다. 이는 설치된 앱이 Google Play 스토어에서 제공되고(개발자의 개인 릴리스 키로 서명됨) 업데이트가 분할 .xapk 아카이브(분할 병합 후 변환기 서명 키로 다시 서명되어야 함)에서 변환될 때마다 발생합니다. "패키지가 기존 패키지와 충돌하여 앱이 설치되지 않았습니다."

그러나 이전 버전과 새 버전이 모두 xapktoapk.com를 사용하여 변환된 경우 결정적 서명 파이프라인은 변환 전반에 걸쳐 동일하고 일관된 서명 인증서를 사용합니다. 즉, 인앱 진행 상황을 제거하거나 손실하지 않고 변환된 새 APK를 이전 변환된 APK 위에 직접 설치할 수 있다는 의미입니다! 설치하기 전에 위의 비교 도구를 사용하여 두 파일이 동일한 인증서 다이제스트를 공유하는지 확인하세요.

Mst Shaefale가 설계하고 문서화함 수석 개발자 및 Android 패키지 설계자 • Android 12~15에서 검증됨

모든 바이너리 비교 및 ​​SHA-256 해싱은 Web Crypto를 통해 브라우저에서 로컬로 100% 실행됩니다. 질문이 있는 경우 지원 데스크에 문의하세요.