AndroJack——所有安卓交易中的杰克
*一个MCP服务器,为你的AI编码助手提供实时、经过验证的Android知识,因此它是从官方来源构建的,而不是从记忆中构建的。*
](https://www.npmjs.com/package/androjack-mcp)  ](https://github.com/VIKAS9793/AndroJack-mcp/stargazers) ](https://github.com/VIKAS9793/AndroJack-mcp/graphs/traffic)    ](https://nodejs.org)   
    ](https://www.npmjs.com/package/androjack-mcp)
](https://androjack-web.netlify.app/) 
也适用于: Windsurf·VS代码复制品·谷歌反重力·JetBrains人工智能——见 手动设定 在......下面↓
VS代码分布: 也可以在VS Code Marketplace上作为 AndroJack MCP用于VS代码.
PM/APM文件: 产品战略、JTBD、人物角色、路线图、用户故事、竞争分析和GTM材料 产品管理/README.md.
______________________________________________________________________
目录
______________________________________________________________________
🔥 创建此工具的危机
2025年 Stack Overflow开发者调查 向49000名开发人员询问了他们使用AI编码工具的经验。结果应该会让每个Android工程师感到震惊:
- 84%的开发者 现在使用人工智能编码工具——比前一年的76%有所上升。
- 对人工智能准确性的信任崩溃 从40%到刚刚 29% 在一年内。
- 2025年Stack Overflow访问量的35% 现在由开发人员调试和修复AI生成的代码触发。
使用和信任之间的差距并非巧合。它是结构性问题的产物: AI模型预测令牌,而不是API。 他们接受了关于世界快照的培训,没有机制知道API 30发生了什么变化,谷歌I/O 2025发布了什么,或者谷歌Play现在在审查时拒绝了什么。
对于Android开发人员来说,这种失败模式是非常危险的。Android拥有移动开发中发展最快的生态系统——每月都有一个新的Compose BOM,导航3在Nav2运行七年后趋于稳定,Android 16重写了屏幕方向锁定规则——大多数人工智能工具的训练数据在你使用它们时已经过时了六个月到两年。
结果不仅仅是糟糕的代码。它是 自信糟糕的代码。
______________________________________________________________________
⚡ 实践中真正突破的是什么——有据可查的证据
这些不是假设的风险。它们是真实开发人员项目中记录的故障模式。
The Navigation 3 Hallucination (January 2026)
已发表的案例研究来自 原子机器人 记录了实时导航2→ 导航3迁移使用Gemini和Claude,两者都启用了互联网接入。结论全文如下:
*“LLM仍然会产生幻觉。即使有互联网接入,两个代理都想使用过时的候选版本,而不是稳定的1.0.0版本。”*
导航3在同一个库运行了七年后,于2025年11月稳定下来。这是一次彻底的架构反思:后栈现在是简单的Kotlin列表,单片导航图已经不复存在 NavDisplay 替换 NavController谷歌自己的迁移指南非常清楚人工智能工具会出错,现在它包含了特殊的 “AI代理:”注释 --直接嵌入官方文档中的指令,供AI工具遵循。2026年,一个为新的Compose项目生成Nav2代码的AI工具犯了一个不小的错误。它正在造成一种架构不连贯,需要完全重写才能修复。
The Compose Deprecation Treadmill
Jetpack Compose每月都会发送一份新的物料清单。由于大多数模型的训练截止,这些API发生了变化:
| API | 状态 | 出了什么问题 |
|---|---|---|
ContextualFlowRow / ContextualFlowColumn | Compose 1.8中已弃用 | AI仍会生成它们——今天编译警告,明天删除 |
TestCoroutineDispatcher | 从协程测试中删除1.8+ | AI仍然会生成它——CI中的非确定性测试失败 |
FlowRow overflow参数 | 在1.8中弃用 | 运行时微妙的行为回归,在大多数linting设置中保持沉默 |
AnchoredDraggableState.confirmValueChange | 弃用 | 锚点边界处的拖动行为不正确 |
| 新项目中的导航2 | 2025年11月被稳定的导航3取代 | 需要重写以修复的架构死胡同 |
每一个都编译。大多数运行时没有错误。这些错误稍后会出现在CI不稳定、UI退化或Play商店审查失败中。
The Android 16 / API 36 Mandate (August 2026 deadline)
Android 16进行了平台级更改,影响了每个发布的应用程序:在≥600dp的设备上——平板电脑、可折叠设备、ChromeOS——应用程序可以 不再锁定屏幕方向 或限制可调整性。Google Play要求在2026年8月之前将API 36定位为目标。
AI工具生成 android:screenOrientation="portrait" 或 android:resizeableActivity="false" 今天生成的代码将在Play Console中触发应用程序兼容性警告,无法通过大屏幕质量检查,并在Play商店搜索结果中降级应用程序。
商业影响不是理论上的: 可折叠用户在应用上的支出增加了14倍 仅使用手机的用户。平板电脑+手机用户花费9倍以上。FlipaClip在适应后的四个月内,平板电脑用户增长了54%。
The KMP Silent Failure
Kotlin多平台在2025年成为主流——发布了900多个新的KMP库,Room增加了对KMP的支持,公司现在专门为KMP技能而招聘。当KMP项目的开发人员要求AI工具添加数据库支持时,AI会生成仅限Android的Room代码。它编译。它在Android上运行良好。 iOS构建失败。 开发人员在意识到根本原因之前花了几个小时进行调试:他们的AI工具不知道KMP的存在。
______________________________________________________________________
🧩 安德洛杰克做什么
安德洛杰克是一个 基于文档的Android工程MCP服务器。它为您的AI编码助手 22种专用工具 它从官方的Android和Kotlin来源获取实时、经过验证的答案,而不是从过时的训练数据中进行预测。
这并没有让AI变得更聪明。它使AI 对证据负责。
将其视为LLM的预构建过梁。当其他工具检索文档时,AndroJack扮演着严格的架构看门人的角色。
Without AndroJack: You ask → AI predicts from stale weights → Code (possibly wrong)
With AndroJack: You ask → AI calls tool → Tool fetches official source live
→ AI reads verified answer → Code (grounded)______________________________________________________________________
⚠️ 诚信激活模型——两个层次
\[!重要\] 这是安装AndroJack之前要了解的最重要的事情。
| 级别 | 什么是活动的 | 人工智能做什么 |
|---|---|---|
| 第1级——仅限工具 | 在IDE中注册的22个工具 | AI *可能* 调用正确的工具。这取决于IDE和AI的判断。 |
| 2级——工具+接地门 | 22种工具+强制性预生成规则手册 | AI *必须* 在编写代码之前,为每个决策调用正确的工具。 |
| 第三级——全循环 | 2级+ android_code_validator | AI根据24条规则验证每个代码块。必须在用户看到代码之前修复错误。 |
第一级是被动的。 这些工具是可用的,但人工智能决定何时使用它们。构建Compose屏幕的AI可能会调用 architecture_reference 但跳过 material3_expressive --并悄无声息地违反M3E。
级别2处于活动状态。 这 androjack_grounding_gate 系统提示将每种任务类型映射到正确的工具。构建组合UI?AI被授权呼叫 material3_expressive 第一。添加依赖关系?它必须呼叫 gradle_dependency_checker。没有例外。
第三级是循环。 android_code_validator 在AI生成的每个代码块上运行,然后将其返回给用户。31条规则,涵盖删除的API、弃用的模式、Android 16和Android 17合规性。裁决 失败 这意味着AI必须修复并重新验证——用户永远看不到损坏的代码。
→ *要实现完全接地,请始终激活Level 2+Level 3。请参阅下面的“获得全额保证”。*
______________________________________________________________________
🪲 什么仍然可以打破——即使在3级
\[!重要\] AndroJack是一个文档开发和API验证工具。它不是Compose布局引擎、设计系统执行器或运行时渲染器。级别3捕获已删除的API和已弃用的模式。它无法捕获每一类Android漏洞。这不是AndroJack的限制,而是应用于可视化、运行时渲染的UI框架的静态文本分析的基本属性。
在使用AndroidJack构建的2级(v1.4.0)真实Android应用程序中遇到了以下错误。它们在这里被诚实地记录下来,所以你确切地知道要注意什么,以及在哪里可以找到不同的工具。
✅ 3级抓什么
// ❌ REMOVED — android_code_validator fires: REMOVED_ASYNCTASK
class MyTask : AsyncTask()
// ❌ REMOVED — fires: REMOVED_TEST_COROUTINE_DISPATCHER
val dispatcher = TestCoroutineDispatcher()
// ❌ DEPRECATED — fires: DEPRECATED_CONTEXTUAL_FLOW_ROW
ContextualFlowRow { Text("hello") }
// ❌ LEAK — fires: GLOBALSCOPE_LAUNCH
GlobalScope.launch { fetchData() }⚠️ 什么级别3不能捕捉
\[!警告\] 在一个实际项目中发现了以下错误。它们是有效的APIcurrent Compose代码,违反了设计系统约束、可访问性最低要求或体系结构边界。静态文本扫描无法检测到它们。
Bug PH-UI-001 — Segmented button text truncation
// Compiles and runs. Level 3 sees no violation.
// The bug: Text inside MultiChoiceSegmentedButtonRow truncates because a
// fixed height modifier prevents the Roboto Flex variable font from expanding.
MultiChoiceSegmentedButtonRow {
SegmentedButton(/* fixed height modifier */) {
Text("Light")
}
}\[!注意\] 这是一个 缺席 程序错误缺少正确的修饰符——不存在错误的修饰符。使用目视测试或运行时检查。
Bug PH-UI-003 — Disabled button contrast failure
// Correct Material 3 API. Level 3 sees no violation.
// The bug: disabled state colours fail WCAG AA 4.5:1 contrast against surface.
Button(enabled = false, onClick = {}) {
Text("INITIALIZE VAULT")
}\[!注意\] 这是一个 运行时视觉属性 程序错误使用狗仔队截图测试或谷歌的辅助功能扫描仪。
Bug PH-AR-004 — Raw stack trace rendered to end user
// A missing try/catch produces no pattern match.
class VaultViewModel : ViewModel() {
fun initializeVault() {
viewModelScope.launch {
val result = repository.initialize() // Missing try/catch
_uiState.value = UiState.Success(result)
}
}
}\[!警告\] UDF架构违规 要求Detekt使用自定义规则或单元测试来验证异常映射。
______________________________________________________________________
🗂️ 深度防御:每个Bug类的正确工具
| Bug类 | 实例 | 右工具 |
|---|---|---|
| 已删除/弃用API | AsyncTask, TestCoroutineDispatcher | ✅ 安德洛杰克3级 |
| Android 16违规 | screenOrientation, resizeableActivity=false | ✅ 安德洛杰克3级 |
| Android 17违规 | static final 反射,未经许可的局域网 | ✅ 安德洛杰克3级 |
| 架构(标记为根) | GlobalScope 泄漏到UI | ✅ 安德洛杰克3级 |
| 缺少修饰符/缺少约束 | PH-UI-009 (内衬) | 🔧 安卓Lint/IDE检查器 |
| 运行时对比度/颜色故障 | PH-UI-003 (WCAG) | 🔧 狗仔队+无障碍扫描仪 |
| 触摸目标违规 | PH-UX-008 | 🔧 辅助功能扫描仪 |
| 架构边界(缺失捕获) | PH-AR-004 (堆栈跟踪到UI) | 🔧 Detekt+ViewModel单元测试 |
______________________________________________________________________
🎯 杀手论
*“你能 agents.md 文件告诉我上周二发货的Gradle版本?"*没有markdown文件可以。没有规则 .cursorrules 可以。不 SKILL.md 可以。
✅ 只有实时工具调用可以。
这就是AndroJack存在的目的——在当前的生态系统中,没有其他东西专门为Android做这件事。
| 你需要什么 | agents.md/SKILL.md | 安卓杰克MCP |
|---|---|---|
| 以特定方式格式化输出 | ✅ 完美 | 也行 |
| 遵循团队惯例 | ✅ 完美 | 也行 |
| 当前最新Gradle版本 | ❌ 凭记忆猜测 | ✅ 胎儿活着 |
| AsyncTask是否已删除? | ❌ 可能错了✅ 已通过SDK验证 | |
| Android 16 Play商店规则❌ 未知 | ✅ 官方消息来源 |
快速工程控制着人工智能的反应方式。MCP控制着AI所知道的。
______________________________________________________________________
✨ AndroJack涵盖了什么——22个工具
| # | 工具 | 它做什么 | 没有它会坏什么 |
|---|---|---|---|
| 1 | 🔍 search | 在官方Android/Kotlin文档中实时搜索 | 记忆中的AI原因——今天可能是错误的 |
| 2 | ⚠️ component | 弃用/删除了对40多个API的检查 | 编译良好,运行时中断/审查 |
| 3 | 📐 architecture | 40多个主题的指南——MVVM、Nav3、MVI。.. | AI给出2022年的建议;错过Nav3 |
| 4 | 🐛 debugger | 解析堆栈跟踪→ 搜索问题跟踪器 | 人工智能幻觉修复已知错误 |
| 5 | 📦 gradle | 从Google Maven+BOM解析中实时查找 | Stale Compose BOM,KAPT而不是KSP |
| 6 | 📊 api-level | API 21–36表,minSdk警告 | API 26+minSdk21应用程序中的调用 |
| 7 | 🎯 kotlin | 10种模式——协程、MVI、编写状态 | GlobalScope.launch, runBlocking 在UI中 |
| 8 | 🎨 m3e | 材料3表现性组件和运动 | M3E应用程序中的M2材料主题 |
| 9 | 🔐 permissions | 40+权限规则和合同 | deprecated requestPermissions() |
| 10 | 🧪 testing | 单元/编写UI测试官方模式 | Thread.sleep() 在测试中;失踪的Hilt |
| 11 | 🏗️ build | R8,libs.versions.toml,签名,AAB | implementation 而不是 ksp |
| 12 | 📱 large-screen | WindowSizeClass(5个断点,包括大号/XL),自适应支架 | 可折叠和桌面上的仅限手机布局 |
| 13 | 🚀 scalability | 第3页,WorkManager,模块化 | 幼稚 loadAll();列表中的键不稳定 |
| 14 | 🧭 nav3 | Nav3(2025年11月)——场景、迁移 | 人工智能产生Nav2死胡同 |
| 15 | ✅ compliance | API 36/Android 16/16 KB页面大小 | 应用程序无法通过Play Store 2026年8月的授权 |
| 16 | 🌐 kmp | Room KMP、Ktor、源代码集、Room 3.0 alpha | KMP项目中仅限Android的代码 |
| 17 | 🤖 ondevice-ai | AICore、ML Kit Gen AI、Gemini Nano | 需要离线时的纯云AI |
| 18 | 📋 policy | Play商店年龄门控、计费开放、数据安全 | 应用程序因未知的政策变化而被拒绝 |
| 19 | 🥽 xr | Android XR SDK、SpatialPanel、Orbiter | 作为2D面板工作,缺少空间价值 |
| 20 | ⌚ wear | Tiles,Health,M3 Expressive for Wear OS | 圆形显示器上的手持图案 |
| 21 | 🛡️ validator | 3级循环返回验证门——31条规则 | AI在不检查的情况下发送损坏的代码 |
| 22 | 🆕 api17 | Android 17/API 37-静态决赛,LAN,OTP,Handoff | 应用程序崩溃或失败API上的Play Store 37 |
______________________________________________________________________
🚀 快速入门——无需安装
选项1--交互式CLI(v1.7.1)✨ 推荐
npx -y androjack-mcp@1.7.1 install启动具有自动检测功能的完整动画终端向导 VS Code、Cursor、Claude、Windsurf、JetBrains、Kiro和反重力。
选项2——目标安装
# Preview detected IDEs and config paths
npx -y androjack-mcp@1.7.1 install --list
# Auto-detect all
npx -y androjack-mcp@1.7.1 install --auto
# Install to a specific IDE
npx -y androjack-mcp@1.7.1 install --ide=cursor
npx -y androjack-mcp@1.7.1 install --ide=claude
npx -y androjack-mcp@1.7.1 install --ide=vscode
npx -y androjack-mcp@1.7.1 install --ide=windsurf
npx -y androjack-mcp@1.7.1 install --ide=jetbrains
npx -y androjack-mcp@1.7.1 install --ide=kiro
npx -y androjack-mcp@1.7.1 install --ide=antigravity选项3——不使用IDE进行测试
npx -y @modelcontextprotocol/inspector npx -y androjack-mcp@1.7.1______________________________________________________________________
🧩 手动配置/复制/粘贴
如果你更喜欢手动连接服务器,或者想在编写任何内容之前检查确切的JSON:
- 跑
npx -y androjack-mcp@1.7.1 install --list预览检测到的IDE和目标配置路径。 - 即时粘贴示例
config/.
| IDE/客户端 | 配置文件 |
|---|---|
| 克劳德桌面 | config/claude_desktop_config.json |
| 光标 | config/cursor_mcp.json |
| VS代码/GitHub副本 | config/vscode_mcp.json |
| 风帆冲浪 | config/windsurf_mcp.json |
| 安卓工作室/IntelliJ | config/jetbrains_mcp.json |
| AWS Kiro | config/kiro_mcp.json |
| 谷歌反重力 | config/antigravity_mcp.json |
每个示例默认情况下都将AndroJack保持在本地,并通过以下方式运行已发布的包 npx -y androjack-mcp@1.7.1.
______________________________________________________________________
📍 生态系统:AndroJack与其他MCP
| 功能 | 谷歌开发者知识MCP | AndroJack MCP |
|---|---|---|
| 身份 | 图书管理员(信息) | 看门人(执法) |
| 机制 | 上下文检索 | 上下文强制 |
| 范围 | 通才——Firebase、云、地图 | 安卓工程专家 |
| 工具 | 3个检索工具 | 22个专用工具 |
| 设置 | 需要Google Cloud项目+API密钥 | npx androjack-mcp@1.7.1 --零身份验证 |
| 执行 | 被动——人工智能决定何时检索 | 主动——按任务类型强制调用 |
______________________________________________________________________
🔒 安全与隐私
| 属性 | 实施 |
|---|---|
| 域分配列表 | 仅向Google/Android/Kotlin官方域名发出请求 |
| 仅限HTTPS | 出站文档获取拒绝非HTTPS URL、限制正文大小,并在重试日志中编辑查询字符串 |
| 默认情况下为本地 | serve 仅绑定到环回,除非您明确传递 --allow-remote |
| HTTP强化 | 流式HTTP验证 Origin 和 Host headers和caps请求正文和活动会话 |
| 透明代理 | User-Agent: AndroJack-MCP/1.7.1 |
| 只读 | 所有22个工具均已注释 readOnlyHint: true |
| 零凭据 | 获取文档不需要API密钥或令牌 |
| 安全策略 | 披露流程和支持的版本 安全.md |
______________________________________________________________________
📋 更新日志
v1.7.1--工程强化和社区平等
- 54测试覆盖率 --为验证器规则、HTML解析器、LRU缓存和HTTP安全层实现了全面的单元和契约测试。
- 发现奇偶校验 --已修复
/.well-known/mcp正确报告的端点tools: 22. - 依赖性消毒 --已删除
node-fetch(迁移到本地fetch)并修剪陈旧的覆盖物,以实现更清洁的供应链。 - 规则强化 --改进的组合组件检测
NavHost和BottomAppBar. - URL修正 --修复了Android 17中损坏的文档锚点
ACCESS_LOCAL_NETWORK和handoff.
v1.0.0-Android 17/API 37支持
- 工具22:
android_api17_compliance--Android 17平台稳定性的完整参考(2026年3月26日)。 - 31条验证器规则 --通过专用的Android 17和Room 3.0删除检查,从24个扩展到31个。
- 窗口管理器1.5.0 --添加了大(1200dp)和超大(1600dp)断点和布局模式。
- 3.0阿尔法室 --支持现代SQLiteDriver迁移路径。
______________________________________________________________________
👥 作者和所有权
维卡斯·萨哈尼 --产品负责人(vikassahani17@gmail.com)\ 克劳德AI --人工智能工程主管
______________________________________________________________________
麻省理工学院许可证©2026 Vikas Sahani| 安全.md
*之所以建立,是因为2025年Stack Overflow访问量的35%是开发人员调试AI生成的代码。*\ *AndroJack存在,所以这些访问都不是你的。*
