总结

我的主力手机 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 文件就能解决问题呢?

  • 使用相同版本覆盖 → 恢复完整性
  • 软件包管理器恢复正常

这就是它的意思。

预防措施

以下哪些顺序不合适

❌ 不要只是想,“我无法连接到网络,所以我尝试卸载并重新安装它。”
❌ 当被问及卸载时是否保留数据时,请选择不保留。

大概就是这样了。

但说真的,这种恢复方法对于普通人来说几乎是不可能的,不是吗?