android-source-search について
Android 開発者向けに、AOSP と AndroidX の最新ソースを検索・確認する方法をまとめたスキルです。android-sources MCP を優先し、利用できない場合の Web 検索手順も説明します。
主な機能
- 01MCP を優先したソース検索
- 02Gitiles による AOSP 取得
- 03GitHub による AndroidX 取得
- 04クラスとメソッドの検索手順
- 05最新ソースの検索フロー
活用シーン
- 01Android フレームワークのクラスやメソッドの確認
- 02AndroidX のソースファイルやサンプルの検索
- 03パスが不明な場合のソース検索
MCP 対応
利用可能な場合に、クラス、メソッド、階層、テキスト、型の検索で android-sources MCP を使う方法を示します。利用できない場合の取得手順も記載しています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rcosteira79/ android-skills --skill android-source-searchインストール後、Claude Code で/android-source-searchを入力して読み込まれたか確認します。
詳細
Android ソース検索
2 つのソースツリーには、それぞれ異なるアクセス方法があります。AOSP は android.googlesource.com(Gitiles)にあり、AndroidX は GitHub にあります。cs.android.com は自動取得をブロックします。人間が閲覧するための JS SPA 専用です(WebFetch で取得しないでください)。
推奨:android-sources MCP
mcp__android-sources__* ツールが利用できる場合は、WebFetch/gh よりも常にこちらを優先してください。ローカルソースを使い、検索は 10 ミリ秒未満です。
| 目的 | MCP ツール |
|---|---|
| 名前やパターンでクラスを検索する | search_classes(glob、例:*ViewModel*) |
| クラス全体/メソッド/メンバーを読む | lookup_class / lookup_method / list_class_members |
| クラス階層を調べる | get_class_hierarchy |
| ソース全体からテキスト/正規表現を検索する | search_in_source |
| AndroidX のアーティファクトバージョンを一覧表示する | list_available_versions |
| 定義/参照/型情報(LSP)を取得する | goto_definition / find_references / get_type_info |
MCP ツールが利用できない場合に限り、以下の WebFetch/gh の方法にフォールバックしてください。
フォールバック:WebFetch + gh
AOSP(フレームワーク内部、@hide API、内部定数、デフォルトの属性値)には、Gitiles を使用します。生のテキストは base64 エンコードされており、サイズも小さくなります。
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/{path}?format=TEXT
有効なデフォルトブランチには refs/heads/main を使用します。特定の API レベルには、android-14.0.0_r74 のようなタグを使用します。主なリポジトリ:platform/frameworks/base(core/java/android/ → View/Activity/Context、services/core/java/ → システムサービス、core/res/ → デフォルトの属性/スタイル)、platform/libcore(ojluni/src/main/java/ → Java コア)。
AndroidX(androidx.* のソースとサンプル)には、GitHub を使用します。ファイルの内容は raw.githubusercontent.com から、ディレクトリ一覧は gh api から取得します。
https://raw.githubusercontent.com/androidx/androidx/androidx-main/{path}
gh api repos/androidx/androidx/contents/{path} --jq '.[].name'
サンプルはソースの隣にあり、samples/ サブパスの下に {ClassName}Samples.kt として配置されています。主なパスのプレフィックス: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 は Gitiles(platform/frameworks/support、androidx-main)にもミラーされていますが、androidx.* の正規パスとしては GitHub のレイアウトのほうが分かりやすく、ドキュメントも充実しています。こちらを優先してください。
パスが分からない場合
cs.android.com を人間向けの検索 UIとして使ってクラス/ファイルを特定し、その後 Gitiles(AOSP)または raw.githubusercontent.com / gh api(AndroidX)から取得します(WebFetch は使用しないでください。JS SPA です)。
https://cs.android.com/search?q=ClassName+methodName&ss=android # &ss=androidx for AndroidX
どちらのツリーも頻繁に更新されるため、記憶している行番号を信頼せず、必ず最新のソースを取得してください。