APK版本差異工具

APK & XAPK 版本線上比較工具

在瀏覽器中並排比較兩個 .apk、.xapk 或 .apks 軟體包。驗證它們的加密簽章憑證是否符合(以防止 INSTALL_FAILED_UPDATE_INCOMPATIBLE 錯誤)並檢查 DEX 字節碼、本機庫和內部條目中的差異。

套餐 A(舊版/基本版)

點擊或放下第一個 .apk / .xapk 文件

套餐B(新/更新版本)

點擊或放下第二個 .apk / .xapk 文件

為什麼比較 APK 版本可以防止更新失敗

當您在現有安裝上安裝較新版本的 Android 應用程式時,Android 的 PackageManager 會強制執行兩個嚴格的規則:新套件的 versionCode 必須大於或等於已安裝的版本,而 META-INF/(或 APK 簽章區塊 v2/v3)內的簽章憑證必須逐位元組相同。

  • 簽署證書摘要匹配: 計算兩個套件中 .RSA / .DSA / .EC 簽章區塊的 SHA-256 指紋,以便您立即知道就地更新是否會成功而無需卸載。
  • 原生 ABI 和 DEX 差異: 反白更新是否刪除了 32 位元 armeabi-v7a 庫或新增了新的 classes*.dex 檔案。
  • CRC32 條目增量: 列出建置之間新增或刪除的確切檔案。

Android 如何評估軟體包更新(INSTALL_FAILED_UPDATE_INCOMPATIBLE)

用戶在更新旁載入應用程式時遇到的最常見錯誤之一是 “應用程式未安裝,因為套件與現有套件衝突”(在 ADB 日誌中稱為 INSTALL_FAILED_UPDATE_INCOMPATIBLE)。每當安裝的應用程式來自 Google Play 商店(使用開發人員的私有發布密鑰簽署)並且更新是從拆分 .xapk 存檔轉換而來(合併拆分後必須使用轉換器簽名密鑰重新簽名)時,就會發生這種情況。

但是,如果您的舊版本和新版本都是使用 xapktoapk.com 進行轉換的,我們的確定性簽名管道在各個轉換中使用相同的一致簽名證書,這意味著您可以將新的轉換後的 APK 直接安裝在舊的轉換後的 APK 之上,而無需卸載或丟失您的應用內進度!在安裝之前,使用上面的比較工具確認兩個檔案共用相同的憑證摘要。

由 Shaefale 女士設計並記錄 首席開發人員和 Android 套件架構師 • 在 Android 12–15 上經過驗證

所有二進位比較和 SHA-256 雜湊均透過 Web Crypto 在瀏覽器中本機執行 100%。如果您有疑問,請聯絡我們的支援台。