پیکیج A (پرانا/بیس ورژن)
پہلے .apk / .xapk فائل پر کلک کریں یا چھوڑیں۔
پیکیج B (نیا / اپ ڈیٹ ورژن)
دوسری .apk / .xapk فائل پر کلک کریں یا ڈراپ کریں۔
APK ورژن کا موازنہ ناکام اپ ڈیٹس کو کیوں روکتا ہے۔
جب آپ کسی موجودہ انسٹالیشن پر Android ایپ کا نیا ورژن انسٹال کرتے ہیں، تو Android کا PackageManager دو سخت اصول نافذ کرتا ہے: نئے پیکیج کا versionCode انسٹال شدہ بلڈ سے بڑا یا اس کے برابر ہونا چاہیے، اور META-INF/ (یا APK سائننگ بلاک v2/v3) کے اندر اس کا دستخطی سرٹیفکیٹ بائٹ کے لیے بائٹ ہونا چاہیے۔
- دستخطی سرٹیفکیٹ ڈائجسٹ میچ: دونوں پیکجوں میں .RSA / .DSA / .EC دستخطی بلاک کے SHA-256 فنگر پرنٹ کی گنتی کرتا ہے تاکہ آپ کو فوری طور پر معلوم ہو جائے کہ آیا ان انسٹال کیے بغیر جگہ جگہ اپ ڈیٹ کامیاب ہو جائے گا۔
- مقامی ABI اور DEX فرق: نمایاں کرتا ہے کہ آیا کسی اپ ڈیٹ نے 32-bit armeabi-v7a لائبریریوں کو چھین لیا ہے یا نئی classes*.dex فائلیں شامل کی ہیں۔
- CRC32 انٹری ڈیلٹا: بالکل درست فائلوں کی فہرست بناتا ہے جو تعمیرات کے درمیان شامل یا ہٹا دی جاتی ہیں۔
اینڈروئیڈ پیکیج اپ ڈیٹس کا اندازہ کیسے لگاتا ہے (INSTALL_FAILED_UPDATE_INCOMPATIBLE)
ایک سائڈلوڈ ایپ کو اپ ڈیٹ کرتے وقت صارفین کو جو اکثر غلطیوں کا سامنا کرنا پڑتا ہے ان میں سے ایک "ایک موجودہ پیکیج کے ساتھ پیکیج کے متصادم ہونے کی وجہ سے ایپ انسٹال نہیں ہوئی" ہے (ADB لاگ میں INSTALL_FAILED_UPDATE_INCOMPATIBLE کے نام سے جانا جاتا ہے)۔ ایسا اس وقت ہوتا ہے جب انسٹال کردہ ایپ گوگل پلے اسٹور سے آتی ہے (ڈویلپر کی نجی ریلیز کلید کے ساتھ دستخط شدہ) اور اپ ڈیٹ کو اسپلٹ .xapk آرکائیو سے تبدیل کیا جاتا ہے (جسے اسپلٹس کو ضم کرنے کے بعد کنورٹر سائننگ کلید کے ساتھ دوبارہ سائن کرنا پڑتا تھا)۔
تاہم، اگر آپ کے پرانے ورژن اور آپ کے نئے ورژن دونوں کو xapktoapk.com کا استعمال کرتے ہوئے تبدیل کیا گیا تھا، تو ہماری ڈیٹرمنسٹک سائننگ پائپ لائن تبادلوں میں ایک ہی مستقل دستخطی سرٹیفکیٹ کا استعمال کرتی ہے—یعنی آپ نئے تبدیل شدہ APK کو براہ راست پرانے تبدیل شدہ APK کے اوپر انسٹال کر سکتے ہیں بغیر ان انسٹال کیے یا اپنی ان ایپ پیشرفت کو کھوئے! اس بات کی تصدیق کرنے کے لیے اوپر موازنہ ٹول استعمال کریں کہ آپ انسٹال کرنے سے پہلے دونوں فائلیں ایک ہی سرٹیفکیٹ ڈائجسٹ کا اشتراک کرتی ہیں۔