Narzędzie do porównywania wersji APK

Narzędzie do porównywania wersji APK i XAPK online

Porównaj dwa pakiety .apk, .xapk lub .apks obok siebie w przeglądarce. Sprawdź, czy ich certyfikaty podpisu kryptograficznego są zgodne (aby zapobiec błędom INSTALL_FAILED_UPDATE_INCOMPATIBLE i sprawdź różnice w kodzie bajtowym DEX, bibliotekach natywnych i wpisach wewnętrznych).

Pakiet A (wersja stara / podstawowa)

Kliknij lub upuść pierwszy plik .apk / .xapk

Pakiet B (wersja nowa/aktualizacyjna)

Kliknij lub upuść drugi plik .apk / .xapk

Dlaczego porównywanie wersji APK zapobiega nieudanym aktualizacjom

Kiedy instalujesz nowszą wersję aplikacji na Androida na istniejącej instalacji, PackageManager Androida wymusza dwie ścisłe zasady: versionCode nowego pakietu musi być większy lub równy zainstalowanej kompilacji, a jego certyfikat podpisywania w META-INF/ (lub blok podpisywania APK v2/v3) musi być identyczny bajt po bajcie.

  • Dopasowanie skrótu certyfikatu podpisu: Oblicza odcisk palca SHA-256 bloku podpisu .RSA / .DSA / .EC w obu pakietach, dzięki czemu od razu wiesz, czy aktualizacja w miejscu zakończy się pomyślnie bez konieczności odinstalowywania.
  • Natywne różnicowanie ABI i DEX: Podświetla, czy aktualizacja usunęła 32-bitowe biblioteki armeabi-v7a, czy też dodała nowe pliki classes*.dex.
  • Wartość Delta wpisu CRC32: Wyświetla dokładną listę plików dodanych lub usuniętych pomiędzy kompilacjami.

Jak Android ocenia aktualizacje pakietów (INSTALL_FAILED_UPDATE_INCOMPATIBLE)

Jednym z najczęstszych błędów napotykanych przez użytkowników podczas aktualizacji aplikacji ładowanej z boku jest „Aplikacja nie została zainstalowana, ponieważ pakiet powoduje konflikt z istniejącym pakietem” (znany w dziennikach ADB jako INSTALL_FAILED_UPDATE_INCOMPATIBLE). Dzieje się tak za każdym razem, gdy zainstalowana aplikacja pochodzi ze sklepu Google Play (podpisana prywatnym kluczem dewelopera), a aktualizacja została przekonwertowana z podzielonego archiwum .xapk (które po połączeniu podziałów musiało zostać ponownie podpisane kluczem podpisywania konwertera).

Jeśli jednak zarówno stara, jak i nowa wersja zostały przekonwertowane przy użyciu xapktoapk.com, nasz deterministyczny potok podpisywania korzysta z tego samego spójnego certyfikatu podpisywania podczas wszystkich konwersji — co oznacza, że ​​możesz zainstalować nowy przekonwertowany plik APK bezpośrednio na starym przekonwertowanym pliku APK bez odinstalowywania lub utraty postępu w aplikacji! Skorzystaj z powyższego narzędzia porównawczego, aby przed instalacją sprawdzić, czy oba pliki mają ten sam skrót certyfikatu.

Zaprojektowane i udokumentowane przez Mst Shaefale Główny programista i architekt pakietów dla Androida • Zweryfikowano na Androidzie 12–15

Wszystkie porównania binarne i hashowanie SHA-256 są wykonywane w 100% lokalnie w przeglądarce za pośrednictwem Web Crypto. Jeśli masz pytania, skontaktuj się z naszym działem wsparcia.