Skip to main content

android-api-diff

Inspect Android framework Java and AIDL APIs across versions with the android-api-diff CLI. Use when resolving an Android API to frameworks/base source, fetching the complete content of a tagged source file, comparing signatures or availability by Android version, explaining missing APIs, generating Java hidden-API access code, or explicitly prewarming the local query cache.

Quellinformationen

Repository
gkd-kit/gkd
Letzte Quellaktivität
31. Juli 2026 um 06:25
Erkannte Sprache von SKILL.md
Englisch
Sterne
42.703
Forks
2.027

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
android-api-diff
description
Inspect Android framework Java and AIDL APIs across versions with the android-api-diff CLI. Use when resolving an Android API to frameworks/base source, fetching the complete content of a tagged source file, comparing signatures or availability by Android version, explaining missing APIs, generating Java hidden-API access code, or explicitly prewarming the local query cache.
# Android API Diff Use the `android-api-diff` CLI as the only tool interface. Keep its default JSON output so results remain machine-readable. ## Route the request - Run `generate` when the user wants Java hidden-API access code. It performs the version query internally, so never call `query` first. - Run `query` when the user wants signatures, version ranges, availability, missing reasons, or source metadata. - Run `resolve` when the user only needs the matching `frameworks/base` file and target kind. - Run `source` when the user wants the complete content of a known source path at an exact Android release tag. If only an API name is known, run `resolve` first and use its `source.path`. - Run `preload` only when the user explicitly asks to preload several APIs. Always quote API names because constructors and member references can contain shell-sensitive characters. ```sh android-api-diff resolve "ContentObserver()" android-api-diff source android-17.0.0_r1 core/java/android/accessibilityservice/AccessibilityButtonController.java android-api-diff query "IActivityManager.getTasks" --min-sdk 28 android-api-diff generate "ActivityThread.currentApplication" --min-sdk 28 android-api-diff preload "ContentObserver()" "IActivityManager.getTasks" --min-sdk 28 ``` Omit `--min-sdk` unless the user provides a minimum Android API level. The CLI then uses its built-in default. ## Interpret results Treat exit code `0` together with top-level `ok: true` as success. Read the operation result from the top-level `result` field. For `query`, describe range endpoints as the first or last tag checked in the current snapshot. A `last-checked` endpoint is not a promise that no later revision exists. For member queries, treat `result.overloads` as the source of truth. Each item has a stable `overloadId`, its latest checked `signature` and `member`, and independent `ranges`. A range with `missingReason: "overload-not-found"` means the member name exists in that source revision but that specific parameter signature does not. Use top-level `result.ranges[].overloadIds` only when describing which overloads were available together. On a nonzero exit code, read the structured JSON error from stderr and report its `error.code` and `error.message`. Do not add an automatic retry: the CLI network layer already retries transient fetches. ## Handle a missing CLI If `android-api-diff` is not installed, stop and tell the user to run: ```sh npm install --global android-api-diff@latest android-api-diff skill install ``` Run the Skill command from the root of the current Git or Gradle project so it remains project-scoped. Do not implement or simulate version checks. The package manager owns CLI update detection and upgrades.
Auf GitHub ansehen