mcpField
A
android-source-search

android-source-search

github.com/rcosteira79開発165146 回インストール6 週間前に更新
リポジトリ

android-source-search について

Android 開発者向けに、AOSP と AndroidX の最新ソースを検索・確認する方法をまとめたスキルです。android-sources MCP を優先し、利用できない場合の Web 検索手順も説明します。

主な機能

  1. 01MCP を優先したソース検索
  2. 02Gitiles による AOSP 取得
  3. 03GitHub による AndroidX 取得
  4. 04クラスとメソッドの検索手順
  5. 05最新ソースの検索フロー

活用シーン

  1. 01Android フレームワークのクラスやメソッドの確認
  2. 02AndroidX のソースファイルやサンプルの検索
  3. 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

どちらのツリーも頻繁に更新されるため、記憶している行番号を信頼せず、必ず最新のソースを取得してください。

コメント