Paket A (Eski / Temel Versiyon)
İlk .apk / .xapk dosyasını tıklayın veya bırakın
Paket B (Yeni / Güncelleme Sürümü)
İkinci .apk / .xapk dosyasını tıklayın veya bırakın
APK Sürümlerini Karşılaştırmak Neden Başarısız Güncellemeleri Önler?
Mevcut bir kurulumun üzerine bir Android uygulamasının daha yeni bir sürümünü yüklediğinizde, Android'in PackageManager'si iki katı kural uygular: yeni paketin versionCode'si yüklü yapıdan büyük veya ona eşit olmalıdır ve META-INF/ (veya APK İmzalama Bloğu v2/v3) içindeki imzalama sertifikası bayt bayt aynı olmalıdır.
- İmza Sertifikası Özet Eşleşmesi: Her iki paketteki .RSA / .DSA / .EC imza bloğunun SHA-256 parmak izini hesaplar, böylece yerinde bir güncellemenin kaldırmadan başarılı olup olmayacağını anında bilirsiniz.
- Yerel ABI ve DEX Farkı: Bir güncellemenin 32 bit armeabi-v7a kitaplıklarını mı çıkardığını yoksa yeni classes*.dex dosyaları mı eklendiğini vurgular.
- CRC32 Giriş Deltası: Derlemeler arasında eklenen veya kaldırılan dosyaları tam olarak listeler.
Android Paket Güncellemelerini Nasıl Değerlendiriyor (INSTALL_FAILED_UPDATE_INCOMPATIBLE)
Kullanıcıların yandan yüklenen bir uygulamayı güncellerken en sık karşılaştığı hatalardan biri "Paket mevcut bir paketle çakıştığı için uygulama yüklenmedi"'dir (ADB günlüklerinde INSTALL_FAILED_UPDATE_INCOMPATIBLE olarak bilinir). Bu durum, yüklenen uygulama Google Play Store'dan geldiğinde (geliştiricinin özel sürüm anahtarıyla imzalanmış) ve güncelleme bölünmüş bir .xapk arşivinden dönüştürüldüğünde (bölünmeleri birleştirdikten sonra bir dönüştürücü imzalama anahtarıyla yeniden imzalanması gerekiyordu) meydana gelir.
Bununla birlikte, hem eski sürümünüz hem de yeni sürümünüz xapktoapk.com kullanılarak dönüştürüldüyse, deterministik imzalama hattımız dönüşümler arasında aynı tutarlı imzalama sertifikasını kullanır; bu, uygulama içi ilerlemenizi kaldırmadan veya kaybetmeden, yeni dönüştürülen APK'yı doğrudan dönüştürülen eski APK'nın üzerine yükleyebileceğiniz anlamına gelir! Yüklemeden önce her iki dosyanın da aynı sertifika özetini paylaştığını doğrulamak için yukarıdaki karşılaştırma aracını kullanın.