Инструмент за разлика във версията на 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 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 Store (подписано с частния ключ за освобождаване на разработчика) и актуализацията е преобразувана от разделен .xapk архив (който трябваше да бъде преподписан с ключ за подписване на конвертор след сливане на разделяния).

Въпреки това, ако и старата, и новата ви версия са преобразувани с помощта на xapktoapk.com, нашият детерминистичен канал за подписване използва един и същ последователен сертификат за подписване при преобразувания — което означава, че можете да инсталирате новия преобразуван APK директно върху стария преобразуван APK, без да деинсталирате или да загубите напредъка си в приложението! Използвайте инструмента за сравнение по-горе, за да потвърдите, че и двата файла споделят един и същ обобщен сертификат, преди да инсталирате.

Проектиран и документиран от Mst Shaefale Водещ разработчик и архитект на пакети за Android • Проверен на Android 12–15

Всички двоични сравнения и SHA-256 хеширане се изпълняват 100% локално във вашия браузър чрез Web Crypto. Свържете се с нашето бюро за поддръжка, ако имате въпроси.