概要

我的主力手機 Pixel 10 Pro XL 上的 Facebook Messenger 突然停止運作了。

“正在等待網路連線”

它停止工作了,當我嘗試重新安裝時,

我根本就安裝不了。

我最後也陷入了那種境地。

當我詢問 Chatgpt 時,他們建議初始化 Play 服務(我的錢包!)或進行恢復出廠設置,我當時覺得這會是個問題,但最終我的錢包內容仍然完好無損。恢復 既然我已經解決了這個問題,我將有系統地總結原因和解決方法。

症狀

問題分兩個階段出現。

第一階段:溝通失敗

  • 只有 Messenger 無法進行通訊。
  • 其他應用運作正常。
  • 顯示幕顯示「等待網路連線」。

第二階段:無法安裝

  • 已執行解除安裝
  • 重新安裝失敗
  • 如果出現錯誤訊息,請嘗試重新啟動等操作。我被告知要這樣做的頁面。按照上面列出的所有步驟做是行不通的。

原因

總之,原因在於 兩個問題的結合 看來確實如此。我無法重新安裝的原因顯然是由於一個幽靈軟體包的問題。

原因①:幽靈軟體包(軟體包管理器不一致)

根據亞洲開發銀行的研究:

./adb shell dumpsys package com.facebook.orca

結果是:

installed=false
dataDir=/data/user/0/com.facebook.orca

換句話說:

資料已刪除但仍保留的狀態(DELETE_KEEP_DATA)

更多日誌:

INSTALL_FAILED_VERSION_DOWNGRADE
Downgrade detected...

發生了什麼事?

  • 該設備的版本號仍然是 340411198。
  • Play 商店分發的是舊版(為什麼?)。
  • Android拒絕了該請求,認為這是「降級」。

似乎如此。但仍有一些謎團尚未解開。

原因②:通訊限制/應用程式狀態不一致

此外,最初的溝通問題是

  • 背景資料使用限制
  • 令牌不一致
  • 快取損壞

看來原因可能就是這樣。

解決方法

那麼,我是如何擺脫這種困境的呢?我採取了以下步驟。

步驟 1:使用相同版本的 APK 強制修復

我其實不太想這麼做,但似乎別無選擇,所以就做了。這需要下載APK文件,然後用adb工具安裝。

首先,https://www.apkmirror.com/ 從[網站/平台名稱]下載 Facebook Messenger APK。下載的 APK 版本號必須與您先前安裝的版本號相同或更高。下載的檔案名稱很長,直接在命令列中輸入很麻煩,所以我將其在 Finder 中重新命名為 messenger.apk,然後執行以下命令進行安裝。

./adb install -r -d messenger.apk

結果

Success

首先,安裝成功了。現在,

  • 覆蓋軟體套件管理器的狀態
  • 規範化 KEEP_DATA 狀態。
  • 避免降級檢測

完成了

步驟 2:重置應用程式狀態

接下來,我們將重置應用程式狀態。

設定 → アプリ → Messenger → ストレージ → データ削除

然而,這樣做只是讓應用程式恢復到最初的問題狀態,仍然卡在「等待網路連線」的狀態。這種現象通常是由「Google Play 服務/FCM(推送)/網路控制」的不一致引起的,而不是應用程式本身的問題。執行步驟 3 和 4 解決了這個問題。

步驟三:解除通信限制

在 Pixel 手機上很難找到,但:

設定 → アプリ → Messenger → モバイルデータ使用量

然後檢查以下內容:

  • 背景數據
  • 無限行動數據使用開啟

我的無限流量套餐被關閉了,所以我把它打開了。

而且:

設定 → バッテリー → 制限なし

我會做的。

第四步:遊戲服務「只接受現金」。

Google Play 開発者サービス → キャッシュを削除

* 請勿刪除資料。刪除後,您錢包中的所有內容都將被清除。

結果

  • 啟動 Messenger
  • 通訊已恢復
  • Play商店的更新功能現已恢復正常。

從此以後快樂地生活著。

回首往事

為什麼重新安裝反而讓情況更糟?

那麼,為什麼我會陷入無法安裝的循環中呢?

卸載時,系統問我是否要“保留我的資料”,我回答“是”。

看來確實如此。說真的,別因為這種事把它摔了orz

這將:

  • “已刪除,但版本號保留。”
  • → 這違反了降級禁令。

這似乎導致了無限循環。

為什麼用 APK 檔就能修復這個問題?

那麼,為什麼強制安裝 APK 檔案就能解決問題呢?

  • 使用相同版本覆蓋 → 復原完整性
  • 軟體包管理器恢復正常

這就是它的意思。

預防措施

以下哪些順序不合適

❌ 不要只是想,“我無法連接到網絡,所以我嘗試卸載並重新安裝它。”
❌ 當被問及卸載時是否保留資料時,請選擇不保留。

大概就是這樣了。

但說真的,這種恢復方法對一般人來說幾乎是不可能的,不是嗎?