Інструмент розрізнення версії APK

Онлайн-інструмент порівняння версій APK і XAPK

Порівняйте два пакети .apk, .xapk або .apks поруч у своєму браузері. Перевірте, чи збігаються їхні сертифікати криптографічного підпису (щоб запобігти помилкам INSTALL_FAILED_UPDATE_INCOMPATIBLE) і перевірте відмінності в байт-коді DEX, рідних бібліотеках і внутрішніх записах.

Пакет A (стара/базова версія)

Натисніть або відпустіть перший файл .apk / .xapk

Пакет B (нова/оновлена ​​версія)

Натисніть або опустіть другий файл .apk / .xapk

Чому порівняння версій APK запобігає невдалим оновленням

Коли ви встановлюєте новішу версію програми Android поверх наявної інсталяції, PackageManager Android забезпечує виконання двох суворих правил: versionCode нового пакета має бути більшим або дорівнювати встановленій збірці, а його сертифікат підпису всередині META-INF/ (або APK Signing Block v2/v3) має бути ідентичним байт за байтом.

  • Збіг дайджесту сертифіката підпису: Обчислює відбиток SHA-256 блоку підпису .RSA / .DSA / .EC в обох пакетах, щоб ви відразу знали, чи вдасться оновлення на місці без видалення.
  • Рідна відмінність 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 виконуються на 100% локально у вашому браузері через Web Crypto. Зверніться до нашої служби підтримки, якщо у вас виникнуть запитання.