ARTICLE · 1175819
安卓 App 调了哪些接口?这个 Skill 帮你从 APK 里找出来

AI技能图鉴 / AI SKILL ATLAS
ARCHIVE 070 · ANDROID REVERSE ENGINEERING
FIELD GUIDE/OPEN SOURCE/AI SKILL
安卓 App 调了哪些接口?这个 Skill 帮你从 APK 里找出来

分类:安卓逆向 / 接口分析
来源:https://github.com/SimoneAvogadro/android-reverse-engineering-skill
CATALOG / 目录
PHASE01
判断与打开
·识别应用
·反编译
PHASE02
阅读与追踪
·梳理结构
·找回类名
·追踪调用
PHASE03
输出资料
·整理接口
在安卓 App 里点下登录按钮后,会把什么信息发给服务器?请求发到哪里,登录凭证又是怎样带上的?想弄清这些问题,可以顺着安装包里的代码往下找。
android-reverse-engineering就是做这件事的 Skill。它在 Claude Code 中使用,能分析安卓安装包、追踪功能调用,并把找到的接口整理成文档。
关注AI技能图鉴,持续介绍AI技能
它解决什么问题
假如要给自家旧版 App 补接口文档,手头只有一个 APK,需要先找到相关代码,再弄清参数和登录方式。这里说的逆向,就是从已经打包好的程序往回看,了解它怎样工作。
这个 Skill 把反编译、阅读代码和整理资料接了起来。它能找到应用入口和主要页面,查看代码中配置的服务地址,再追到实际发起请求的位置。
最后的接口资料会带上对应的代码位置。需要继续确认一个参数或某段登录逻辑时,就能沿着文件回去查。
把安装包交给它之后,会发生什么
安装好 Skill 后,给它本地安装包的路径,就可以提出具体需求。
帮我看看./my-app.apk的登录功能是怎么实现的。
以 Java 或 Kotlin 编写的安卓应用为例,分析会沿着下面的过程展开。

从安装包中读取代码,再整理应用结构和接口资料。
识别应用
先看看它是用什么做的
它会先检查安装包里的文件和字符串,寻找应用框架、网络库和第三方组件的线索,也会估计代码的混淆程度。
比如,它能根据包内标记识别 Flutter、React Native 或原生 Kotlin 应用,并给出对应的分析建议。先知道代码大致在哪里,后面就有了查找方向。
反编译
把安装包变成可阅读的代码
它支持 APK、XAPK,也能处理 JAR、AAR 这类开发库文件。碰到包含多个 APK 的 XAPK,会自动拆包,把里面的 APK 分别处理。
反编译主要由 jadx 和 Fernflower/Vineflower 完成。Skill 可以按文件和代码情况选择工具,也支持生成两份结果,放在不同目录里对照阅读。同一个类有了两份结果,阅读时可以交叉参考。
梳理结构
找到应用入口和业务代码
有了代码,它会读取 AndroidManifest.xml。这个文件记录着应用的页面、服务、权限等信息,可以帮助确定从哪里开始看。
接着,它会查看包目录,把应用自身的代码和第三方库分开,寻找负责网络请求、数据读取的部分,也会在 BuildConfig 中查找服务地址等配置线索。
找回类名
让 Kotlin 代码更好认
代码经过混淆,原本有含义的类名可能变成a.b.c。这个 Skill 会从 Kotlin 编译后保留的名称信息中查找原始类名,做出一份名称对照表。
比如,名字里带有Repository、ViewModel的类,能为理解数据处理和页面逻辑提供线索。找到相关名称后,还可以按名称查询,或在搜索代码时附上恢复出的名字。
追踪调用
把页面操作和网络请求连起来
回到登录这个问题,它会顺着页面入口、点击处理、业务代码,一直找到发起请求的地方。
常见的查找顺序可以理解为“登录页面 → 处理登录的代码 → 读取或提交数据的代码 → 网络接口”。这样就能把某个接口和页面上的操作联系起来。
遇到通过 Koin、Hilt 等工具组织的代码,它还会顺着配置,找出实际负责处理任务的类。

沿着代码中的调用关系,把页面操作追到对应的网络请求。
整理接口
先列总表,再展开重点
它内置了针对 Retrofit、OkHttp、Volley、Ktor 和 Apollo GraphQL 的查找方法,能沿着不同写法寻找请求地址、参数、请求头和响应类型。
遇到混淆代码,还可以从保留的接口路径字符串继续找。搜索结果会把已知第三方服务和疑似应用自有的服务地址分开,也会查找请求签名的相关代码,例如 HMAC 的用法。
文档的组织方式也很实用。先把发现的接口列成总表,写清服务地址、请求方法、路径、身份验证方式和来源文件;再对登录等重要流程、你关心的接口补充详细说明。
整个分析任务会留下这些资料。
常见的使用场景
给旧应用补资料。 手头有自家应用的历史安装包,可以先整理接口总表,再围绕登录或其他关心的功能追踪调用,把找到的内容补进维护文档。
阅读一个开发库。 拿到 AAR 或 JAR 文件,想了解它的代码结构和联网方式,也可以从反编译结果继续查找。这适合需要了解组件内部行为的开发者。
它为什么能接着往下查
仓库把工作分配得很清楚。SKILL.md 告诉 Claude 分析顺序和需要交付的资料;脚本负责调用反编译工具、搜索代码和建立名称对照表;参考文档补充不同网络库和调用方式的查找方法。
Claude 根据这些步骤读取结果,再把代码中的关系整理成说明。前面发现的入口、类名和接口路径,会成为后面继续阅读的线索。
安装与前置条件
官方提供了 Claude Code 插件安装方式。在 Claude Code 中依次输入下面两条命令。
/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill/plugin install android-reverse-engineering@android-reverse-engineering-skill项目要求准备 Java JDK 17 或更高版本,以及 jadx。仓库带有依赖检查和安装脚本,开始分析时会检查这些工具。
Fernflower/Vineflower 是可选的反编译工具;用它处理 APK 时,还需要 dex2jar 完成中间转换。Kotlin 名称恢复和查询脚本则通过 Bash 调用 Python 3,使用这部分能力时也要准备好相应环境。
适合谁
它适合需要阅读安卓应用代码、补齐接口资料的开发者,也适合拿着具体功能问题学习安卓应用的人。
比如想知道某个页面的数据从哪里来,就可以结合它给出的调用链和文件位置,接着阅读相关代码。
关注AI技能图鉴,持续介绍AI技能















































































