前提条件
-
确保设备已启用 USB 调试:
- 在 Android 设备上,进入“设置” > “关于手机”,连续点击“版本号”7次以开启开发者选项。
- 返回“设置” > “系统” > “开发者选项”,开启“USB 调试”。
-
安装 ADB 工具:
-
在 Mac 上,需要安装 ADB。推荐通过 Homebrew 安装:
- 安装 ADB:
brew install android-platform-tools
- 验证安装,输入
adb --version
,应显示版本信息。
- 安装 ADB:
-
在 Windows 上安装 ADB 的步骤
- 下载 ADB 工具
- ADB 包含在 Android SDK 的 Platform Tools 中,您可以单独下载,而无需安装整个 Android SDK。
- 访问官方下载页面:Android SDK Platform Tools。
- 在页面中找到“Downloads”部分,选择 “Download SDK Platform-Tools for Windows”,下载一个 ZIP 文件(例如 platform-tools_r35.0.1-windows.zip,版本号可能会有更新)。
- 解压文件
- 下载完成后,找到 ZIP 文件(通常在“下载”文件夹中)。
- 右键点击 ZIP 文件,选择“解压到”或“全部提取”(Extract All),然后选择一个容易找到的文件夹,例如 C:\adb。
- 解压后,您会看到一个名为 platform-tools 的文件夹,里面包含 adb.exe 等文件。
-
-
准备旧版本 APK:
- 获取您想要降级的应用程序的旧版本 APK 文件,并将其保存到 Mac 的某个目录(比如
~/Downloads
)。
- 获取您想要降级的应用程序的旧版本 APK 文件,并将其保存到 Mac 的某个目录(比如
-
连接设备:
- 用 USB 数据线将 Android 设备连接到 Mac。
- 在终端运行
adb devices
,检查设备是否被识别。如果显示设备序列号和“device”字样,说明连接成功。如果提示授权,手机屏幕上会弹出对话框,点击“允许”。
降级步骤
1. 确认当前应用版本
- 在终端输入以下命令,查看目标应用的包名和版本(以微信为例,包名通常是
com.tencent.mm
):adb shell dumpsys package com.tencent.mm
- 找到
versionName
和versionCode
,记下当前版本信息。
2. 卸载应用但保留数据
-
使用以下命令卸载应用,同时保留数据和缓存:
adb shell pm uninstall -k com.tencent.mm
-k
参数表示保留数据。如果成功,终端会显示Success
。
3. 重启设备【重要】
adb reboot
4. 安装旧版本 APK
-
将旧版本 APK 文件路径替换到以下命令中(假设文件在
~/Downloads/wechat-old.apk
):adb install ~/Downloads/wechat-old.apk
-
如果遇到权限或版本限制问题(例如 Android 14 对低 SDK 应用的限制),尝试以下变通命令:
adb install --bypass-low-target-sdk-block ~/Downloads/wechat-old.apk
- 这个命令绕过 Android 14 对旧应用(目标 SDK 过低)的安装限制。
-
默认情况下,adb install 命令可能需要用户手动确认安装,你的设备可能未设置为自动允许 ADB 安装。观察 Android 设备屏幕上是否弹出权限或安装确认对话框,如果弹出,手动确认即可。
5. 验证降级结果
- 安装完成后,打开应用检查是否正常运行,并确认数据是否保留。
- 可再次运行
adb shell dumpsys package com.tencent.mm
检查版本是否变为旧版本。
注意事项
- 数据保留的局限性:这种方法理论上适用于 Android 14(及附近版本),但某些应用的数据可能因版本差异或数据库结构变化而无法完全保留。建议先备份重要数据(例如通过应用的导出功能或第三方工具)。
- 签名一致性:确保新旧版本 APK 的签名一致,否则安装会失败(提示
INSTALL_FAILED_UPDATE_INCOMPATIBLE
)。 - Android 14 限制:如果直接安装失败,可能是因为目标 SDK 过低,需使用
--bypass-low-target-sdk-block
参数。 - Mac 终端路径:如果
adb
命令未被识别,需确保 ADB 已加入系统路径,或直接使用完整路径(例如/usr/local/bin/adb
)。
示例(以微信降级为例)
假设您下载了微信旧版本 APK 文件到 ~/Downloads/wechat-7.0.apk
,完整操作如下:
-
连接设备并确认:
adb devices
-
卸载当前版本但保留数据:
adb shell pm uninstall -k com.tencent.mm
-
重启设备
adb reboot
-
安装旧版本:
adb install --bypass-low-target-sdk-block ~/Downloads/wechat-7.0.apk
-
检查结果:
打开微信,确认数据(如聊天记录)是否保留。
评论区