2.3.1 · 高德地图 Play 版(免 root 内置版)
针对 Google Play 版高德地图 17.02.2.2014 适配的内置版。模块已打进去,装上就有,不需要 root 或 LSPosed。
与国内版的区别
- 适配对象不同:Play 版
17.02.2.2014,国内版17.02.0.1541 - 产物是 4 个文件,不是一个 .apk —— Play 版是 App Bundle 拆分包
- 包名相同(
com.autonavi.minimap),两版只能装一个
安装
必须四个文件一起装,只装 base.apk 会失败。
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.xxxhdpi.apk split_config.zh.apk
手机端可用 MT 管理器 / SAI(Split APKs Installer)选四个文件。下载 Amap-Play-2.3.1-nonroot-embedded.zip 解压后四个文件都在里面。
装前先卸载原有高德(签名冲突),卸载会清掉收藏/历史路线/离线地图。MIUI/HyperOS 会拦 adb 安装,需手动开「USB 安装」或用 root 的 pm 会话安装。
这次适配的真正难点
Play 版与国内版之间,三个关键 hook 锚点的混淆名整体重排:
| 国内 17.02.0.1541 | Play 17.02.2.2014 | 影响 |
|---|---|---|
k84.f()
| s27.d()
| 默认工具清单上游 —— 冷启动递归修复的命门 |
wm3.c/.b
| lv3.c/.b
| 首页 chips 行、搜索页过滤 |
kb5.preloadAIData()
| en5.preloadAIData()
| 紧凑模式 AI 预载闸 |
而且旧名在 Play 版里依然存在,只是变成了无关类。按名挂 hook 会装上但永不命中,连 miss 都看不到 —— 功能静默失效。
已改为候选表 + 「类存在且真有该同名方法」双重判据,国内版永远命中第一项,行为逐字不变。
验证
framework = LSPatch
install_done = ok=54 miss=0 与国内版持平,零缺失
冷启动 = 744 / 792 ms (COLD) 基线 ~1170ms,无递归
首页工具彩绘、悬浮球面板、开关持久化、公告通道、巡航开关 全部正常。
校验
sha256 ea5f6004786911f9f02198aa5af9fc9db1ab808bc7628f368de2e562f422d5c4 Amap-Play-2.3.1-nonroot-embedded.zip
sha256 3d5bc7c44185409c72c0273040e79a44380fd662c56d96994562b23847ce97eb base.apk
sha256 6a807dce7c4952f27446a7a498a4591641814b2b0b7ac03e35f3fed5d8314110 split_config.arm64_v8a.apk
sha256 a2dd2d80ae79e145613efb7f6b1954704b2352b2d2180b6b63e1828aa764a781 split_config.xxxhdpi.apk
sha256 c10923df2541b79bb743d9725ad1aa42ce2f5eb4ed81a4fa755c96c0b51bc6af split_config.zh.apk
已知
- 产品形态是 4 文件包(合并会重写
resources.arsc,有静默降级风险,故走 LSPatch 原生拆分补丁) versionCode沿用高德自己的 170105,模块版本为 2.3.1 / 2301