CommunityCodierung & Entwicklunggithub.com

lerchenflo/claudeskills

Aktualisiert oder migriert ein Android-Projekt zur Verwendung des Android Gradle Plugin (AGP) Version 9. Nicht geeignet für Kotlin Multiplatform (KMP) Projekte.

Was ist claudeskills?

Diese Skill migriert Android-Projekte auf Android Gradle Plugin (AGP) 9 – die neueste Major-Version mit vielen Breaking Changes. Sie führt Schritt für Schritt durch die Migration, von der Aktualisierung der AGP-Version über die Umstellung auf das neue AGP DSL und eingebautes Kotlin bis hin zur Migration von kapt zu KSP oder legacy-kapt. Die Skill prüft zuerst, ob die aktuelle AGP-Version unter 9 liegt, und fordert den Benutzer auf, den AGP Upgrade Assistant in Android Studio auszuführen; auf Wunsch kann dieser Schritt übersprungen werden, sodass die Skill direkt die neueste stabile AGP-Version setzt. Sie unterstützt gängige Android-Projekte, jedoch keine KMP-Projekte, und enthält spezifische Anleitungen für Abhängigkeiten wie KSP, Hilt, BuildConfig und gradle.properties. Nach der Migration wird die Korrektheit durch Gradle IDE Sync, `./gradlew help` und `./gradlew build --dry-run` verifiziert.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lerchenflo/claudeskills/tree/HEAD/android/agp-9-upgrade

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Migrationsleitfaden

Siehe den AGP 9 Migrationsleitfaden für die wichtigsten Änderungen, von denen viele inkompatibel zu AGP 8 sind.

Voraussetzungen

Wenn der Benutzer eine Aktualisierung oder Migration auf AGP 9 wünscht, überprüfe zuerst die im Projekt verwendete AGP-Version. Liegt sie unter 9, stoppe und frage den Benutzer, ob er den AGP Upgrade Assistant in Android Studio ausführen möchte, um auf die neueste stabile Version von AGP zu aktualisieren, und bestätigen lassen, wenn dies erledigt ist. Der Benutzer kann auch verlangen, dass diese Anforderung übersprungen wird; in diesem Fall solltest du die Version von AGP im Rahmen der AGP 9 Migration auf die neueste stabile Version aktualisieren. Siehe den AGP 9 Migrationsleitfaden für die Durchführung.

Jede AGP-Version hat ihre eigenen Kompatibilitäten mit anderen Tools wie Gradle, JDK und Kotlin. Die Versionshinweise jeder dieser Versionen enthalten eine Kompatibilitäts-Tabelle, die die Mindestversionen dieser Tools angibt.

Diese Skill nicht für KMP-Projekte verwenden, da diese nicht unterstützt werden.

Schritte

Wenn AGP bereits bei 9 oder höher ist, dann führe Folgendes durch:

Schritt 1: Abhängigkeiten aktualisieren

Wenn KSP (com.google.devtools.ksp) im Projekt verwendet wird, stelle sicher, dass es auf Version 2.3.6 oder höher ist.

Wenn Hilt im Projekt verwendet wird, stelle sicher, dass es auf Version 2.59.2 oder höher ist.

Schritt 2: Auf eingebautes Kotlin migrieren

Siehe den Leitfaden für ausführliche Informationen.

Schritt 3: Auf das neue AGP DSL migrieren

Siehe den Leitfaden für ausführliche Informationen.

Siehe auch gradle-recipes für Beispiele, wie alter Code auf Code migriert werden kann, der mit AGP 9 und dem neuen DSL kompatibel ist.

Schritt 4: kapt zu KSP oder legacy-kapt migrieren

Wenn KSP (com.google.devtools.ksp) oder kapt (org.jetbrains.kotlin.kapt) im Projekt verwendet werden, siehe KSP, kapt und legacy-kapt für detaillierte Migrationsschritte.

Schritt 5: BuildConfig

Wenn ein Android-Modul benutzerdefinierte BuildConfig-Felder enthält, siehe BuildConfig für ausführliche Informationen.

Schritt 6: gradle.properties aktualisieren

Nach der Migration überprüfe gradle.properties. Entferne die folgenden Flags:

  1. android.builtInKotlin
  2. android.newDsl
  3. android.uniquePackageNames
  4. android.enableAppCompileTimeRClass

Zusätzlich lösche alle temporären Dateien, die du erstellt hast.

Richtlinien

  • Führe niemals Python-Skripte aus oder schreibe sie.
  • Durchsuche den Gradle-Abhängigkeitscache nur bei der Inspektion externer Abhängigkeiten und nur als letzten Ausweg.
  • Füge niemals android.disallowKotlinSourceSets=false zu gradle.properties hinzu.
  • Führe bei der Überprüfung von Änderungen nicht die clean-Aufgabe aus. Das ist Zeitverschwendung.

Überprüfung

Überprüfe nach der Migration Folgendes:

  1. Gradle IDE-Sync ist erfolgreich.
  2. ./gradlew help ist erfolgreich.
  3. ./gradlew build --dry-run ist erfolgreich.

Fehlerbehebung

Paparazzi v2.0.0-alpha04 und niedrigere Versionen haben Probleme mit AGP 9. Siehe references/paparazzi-gradle-9.md für Details.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

lerchenflo/claudeskills

Provides instructions for installing and using the `android` CLI. The `android` command-line tool is a critical tool for Android development and helps you create new Android projects, run Android apps on devices, manage and interact with Android virtual devices (including screenshots and UI inspection), manage Android SDK components, look up official Android documentation, and discover and install official Android skills.

lerchenflo/claudeskills

Manages Android performance profiling and debugging. Triggers when the user asks to record or analyze Android performance data, such as system traces, heap dumps, method recordings, callstack samples, memory allocations, or investigate bottlenecks, jank, memory leaks, and app startup issues on Android, or when the user asks to write, debug, or execute ad-hoc SQL queries. Applies to both user and system apps or services.

lerchenflo/claudeskills

Analyzes Android apps to identify key user workflows for AppFunctions such as creating a note, playing media, or sending an automated or AI agent triggered message, voice commands, or system shortcuts, without needing to open the app UI. Generates Kotlin code to expose these workflows to the Android system, allowing agents to discover and execute them on-device. Also refines KDoc documentation to ensure AI agents correctly understand and use the provided functionality.

lerchenflo/claudeskills

Use this skill to migrate your Jetpack Compose app to add adaptive edge-to-edge support and troubleshoot common issues. Use this skill to fix UI components (like buttons or lists) that are obscured by or overlapping with the navigation bar or status bar, fix IME insets, and fix system bar legibility.

Verwandte Skills