android-source-search
Use when needing to fetch Android source code — AOSP platform internals (@hide APIs, framework classes, system services) or AndroidX/Jetpack library source and samples. Also use when public docs are insufficient to complete a task and implementation details must be read directly from source.
Works with
---
name: android-source-search
description: Use when needing to fetch Android source code — AOSP platform internals (@hide APIs, framework classes, system services) or AndroidX/Jetpack library source and samples. Also use when public docs are insufficient to complete a task and implementation details must be read directly from source.
license: MIT
---
# Android Source Search
Two source trees, two access strategies. AOSP lives on `android.googlesource.com` (Gitiles); AndroidX lives on GitHub. **`cs.android.com` blocks automated fetching — it's a human-browse JS SPA only** (never WebFetch it).
## Preferred: the android-sources MCP
If `mcp__android-sources__*` tools are available, **always prefer them** over WebFetch/gh — local source, sub-10ms lookups:
| Goal | MCP tool |
|------|----------|
| Find a class by name/pattern | `search_classes` (glob, e.g. `*ViewModel*`) |
| Read full class / a method / its members | `lookup_class` / `lookup_method` / `list_class_members` |
| Class hierarchy | `get_class_hierarchy` |
| Search text/regex across sources | `search_in_source` |
| List AndroidX artifact versions | `list_available_versions` |
| Definition / references / type info (LSP) | `goto_definition` / `find_references` / `get_type_info` |
Fall back to the WebFetch/gh strategies below only when the MCP tools aren't available.
## Fallback: WebFetch + gh
**AOSP** (framework internals, `@hide` APIs, internal constants, default attr values) **→ Gitiles.** Raw text is base64-encoded and smaller:
```
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/{path}?format=TEXT
```
Use `refs/heads/main` (the active default branch), or a tag like `android-14.0.0_r74` for a specific API level. Key repos: `platform/frameworks/base` (`core/java/android/` → View/Activity/Context; `services/core/java/` → system services; `core/res/` → default attrs/styles), `platform/libcore` (`ojluni/src/main/java/` → Java core).
**AndroidX** (`androidx.*` source + samples) **→ GitHub.** File content via `raw.githubusercontent.com`; directory listings via `gh api`:
```
https://raw.githubusercontent.com/androidx/androidx/androidx-main/{path}
gh api repos/androidx/androidx/contents/{path} --jq '.[].name'
```
Samples live next to the source as `{ClassName}Samples.kt` under a `samples/` subpath. Key path prefixes: Compose UI `compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/`, Foundation `compose/foundation/foundation/src/commonMain/kotlin/`, Animation `compose/animation/animation/src/commonMain/kotlin/`. AndroidX *is* mirrored on Gitiles (`platform/frameworks/support`, `androidx-main`), but the GitHub layout is the canonical, better-documented path for `androidx.*` — prefer it.
## When the path is unknown
Use `cs.android.com` as a **human search UI** (not WebFetch — JS SPA) to locate the class/file, then fetch via Gitiles (AOSP) or `raw.githubusercontent.com` / `gh api` (AndroidX):
```
https://cs.android.com/search?q=ClassName+methodName&ss=android # &ss=androidx for AndroidX
```
Both trees change frequently — always fetch current source rather than trusting remembered line numbers.More Mobile skills
animation-vocabulary
emilkowalski/skills
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
developing-genkit-dart
firebase/agent-skills
Generates code and provides documentation for the Genkit Dart SDK. Use when the user asks to build AI agents in Dart, use Genkit flows, or integrate LLMs into Dart/Flutter applications.

