还有人玩 Android 吗?给开发者的隐藏 Api 兼容性变化对比网页工具

2025 年 11 月 23 日
 lisongeee

最近在通过 Shizuku 使用 shell 权限调用 Android 的隐藏 Api

Andorid 的隐藏 Api 基本没啥可查看文档的,只能从源码里看实现逻辑

并且 Android 官方源码搜索工具 https://cs.android.com 只能搜索最新版本的,不支持搜索旧版本,需要手动改链接参数才能查看

此外隐藏 Api 在 Android 的单个大版本的多个小版本直接也存在类型变化,导致无法很好地通过判断 Android 大版本去使用

比如 IUserManager#getUsers 在 Android16 里就有两个类型

为了解决这些问题,我做了一个 Api 比较工具

源码地址 -> https://github.com/lisonge/android-api-diff

在线使用 -> https://diff.songe.li

纯前端实现下载解析,可比较 Java/AIDL 两种文件的 Api 变化,下面是截图示例

2455 次点击
所在节点    分享创造
2 条回复
Lrony
2025 年 11 月 24 日
试了试 IActivityTaskManager#getTasks 。看起来接口都扫描到了,但是点击进去是提示页面不存在,例如: https://cs.android.com/android/platform/superproject/main/+/android-10.0.0_r1:frameworks/base/core/java/android/app/IActivityTaskManager.aidl
lisongeee
2025 年 11 月 24 日
@Lrony 已修复,之前链接替换的时候有点小问题

另外解析下载走的是 https://github.com/aosp-mirror/platform_frameworks_base

因为 Android 官方的源码虽然支持下载单个文件但是不支持跨域访问

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1174546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX