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.