ابزار تفاوت نسخه 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 Signing Block v2/v3) باید بایت به بایت باشد.

  • مطابقت خلاصه امضای گواهی: اثر انگشت SHA-256 بلوک امضای .RSA / .DSA / .EC را در هر دو بسته محاسبه می‌کند، بنابراین شما فوراً می‌دانید که آیا به‌روزرسانی در محل بدون حذف نصب انجام می‌شود یا خیر.
  • Native ABI & DEX Diffing: مشخص می کند که آیا به روز رسانی کتابخانه های 32 بیتی armeabi-v7a را حذف کرده یا فایل های classes*.dex جدیدی اضافه کرده است.
  • دلتای ورودی CRC32: فایل های دقیق اضافه یا حذف شده بین ساخت ها را فهرست می کند.

چگونه Android به‌روزرسانی‌های بسته را ارزیابی می‌کند (INSTALL_FAILED_UPDATE_INCOMPATIBLE)

یکی از رایج‌ترین خطاهایی که کاربران هنگام به‌روزرسانی یک برنامه جانبی با آن مواجه می‌شوند، "برنامه نصب نشد زیرا بسته با بسته موجود تداخل دارد" است (در گزارش‌های ADB با نام INSTALL_FAILED_UPDATE_INCOMPATIBLE شناخته می‌شود). این اتفاق زمانی رخ می‌دهد که برنامه نصب‌شده از فروشگاه Google Play می‌آید (با کلید انتشار خصوصی توسعه‌دهنده امضا می‌شود) و به‌روزرسانی از یک بایگانی تقسیم‌شده .xapk (که باید پس از ادغام تقسیم‌ها با یک کلید امضای مبدل دوباره امضا می‌شد) تبدیل می‌شد.

با این حال، اگر هم نسخه قدیمی و هم نسخه جدید شما با استفاده از xapktoapk.com تبدیل شده باشند، خط لوله امضای قطعی ما از همان گواهی امضای ثابت در بین تبدیل‌ها استفاده می‌کند - به این معنی که می‌توانید APK تبدیل‌شده جدید را مستقیماً در بالای APK تبدیل‌شده قدیمی بدون حذف نصب یا از دست دادن پیشرفت درون‌برنامه خود نصب کنید! از ابزار مقایسه بالا استفاده کنید تا تأیید کنید که هر دو فایل از یک خلاصه گواهی مشترک قبل از نصب استفاده می کنند.

مهندسی و مستند شده توسط Mst Shaefale توسعه‌دهنده اصلی و معمار بسته Android • تأییدشده در Android 12–15

همه مقایسه‌های باینری و هش SHA-256 به صورت 100% به صورت محلی در مرورگر شما از طریق Web Crypto اجرا می‌شوند. اگر سوالی دارید با میز پشتیبانی ما تماس بگیرید.