Android 依赖类速查
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_d2af0937/android-lib-lookup。
技能介绍
解决什么问题
在 Android 项目里遇到不熟悉的类时,单靠类名很容易查错:同一个 StringUtils 可能来自内部 AAR、第三方库或基础工具包,方法签名也可能随版本变化。android-lib-lookup 面向这种场景,从 Gradle 缓存的 AAR / JAR 依赖中提取类信息,帮助工程师快速确认一个类属于哪个 Maven 坐标、使用哪个版本,以及它暴露了哪些公共 API。
技能如何工作
该技能用纯 Python 标准库实现,不额外安装依赖。使用时通常先做三步:
- 从 import 语句获取 FQCN:优先使用全限定类名,例如
com.example.StringUtils,避免简单类名跨库歧义。 - 定位 Android 模块路径:工具需要包含
build.gradle或build.gradle.kts的目录,以便解析依赖配置。 - 执行类查询:脚本位于
scripts/lookup_class.py,返回 JSON,包含class、library、version和api_summary;当sources.jar可用时,API 摘要可带 Javadoc。
关键能力包括:
- 自动索引:首次查询约
0.5s建立索引,后续查询约0.1s命中缓存。 - 自动失效:
build.gradle变化时重建索引,减少脏缓存风险。 - 双通道提取:优先从
sources.jar提取源码级 API,回退到javap解析字节码。 - 兼容 Gradle DSL:支持 Groovy 与 Kotlin DSL,并覆盖
implementation、api、compileOnly、runtimeOnly等常见依赖配置。
适用边界
它适合用于确认依赖归属、查看方法签名和优先复用已有工具类,不替代完整文档或架构设计。若当前文件已经 import 了同名类,应优先使用该来源;写代码时要按 api_summary 精确匹配参数类型。
使用场景
- 排查报错类名时,先读取 import 获取 FQCN,再确认该类来自哪个 AAR 或 JAR。
- 在模块目录查询某工具类,获取版本号和公共方法签名,避免按错误参数类型调用 AAR API。
- 同名类来自多个依赖时,对比已 import 的 FQCN 与查询结果,选择当前文件已使用的库。
- 处理 build.gradle 或 .kts 配置,从 implementation 或 api 中定位方法所属坐标和版本。
适合人员
- Android 客户端工程师:在接手旧模块时,需要快速确认陌生类的库坐标、版本和可用公共 API。
- Kotlin/Groovy 混合项目维护者:需要区分同名类来源,避免调用错误依赖的方法签名。
- 依赖治理工程师:需要核对 implementation、api、compileOnly 等配置中的 AAR/JAR 归属。
- 内部 AAR 使用者:需要在没有完整文档时,通过 sources.jar 或 javap 摘要查看方法签名。