lerchenflo/claudeskills

Met à niveau ou migre un projet Android pour utiliser la version 9 du plugin Gradle Android (AGP). Ne pas utiliser cette compétence pour les projets Kotlin Multiplatform (KMP).

Qu'est-ce que claudeskills ?

Cette compétence est conçue pour aider les développeurs Android à migrer ou mettre à niveau leurs projets vers la version 9 du plugin Gradle Android (AGP 9). Elle est utile car AGP 9 introduit des changements majeurs, souvent cassants, par rapport à AGP 8, nécessitant des étapes de migration précises. La compétence prend en charge les projets Android utilisant Gradle, et vérifie d'abord la version actuelle d'AGP : si elle est inférieure à 9, elle recommande d'utiliser l'assistant de mise à niveau d'Android Studio, sauf si l'utilisateur demande de passer outre. La migration inclut la mise à jour des dépendances (KSP ≥ 2.3.6, Hilt ≥ 2.59.2), la migration vers Kotlin intégré, l'adoption du nouveau DSL AGP, la migration de kapt vers KSP ou legacy-kapt, la gestion des champs BuildConfig personnalisés, et le nettoyage du fichier gradle.properties. Elle ne doit pas être utilisée pour les projets KMP, qui ne sont pas pris en charge. Après la migration, des vérifications sont effectuées (synchronisation Gradle, exécution de `./gradlew help` et `./gradlew build --dry-run`).

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Guide de migration

Consultez le guide de migration AGP 9 pour connaître les changements majeurs, dont beaucoup sont cassants, d'AGP 9 par rapport à AGP 8.

Prérequis

Si l'utilisateur demande de mettre à jour ou migrer vers AGP 9, vérifiez d'abord la version d'AGP utilisée dans le projet. Si elle est inférieure à 9, arrêtez-vous et demandez à l'utilisateur d'exécuter l'assistant de mise à niveau AGP dans Android Studio pour mettre à jour vers la dernière version stable d'AGP, et confirmez quand c'est fait. L'utilisateur peut également demander de passer outre cette exigence ; dans ce cas, vous devez mettre à jour la version d'AGP vers la dernière version stable dans le cadre de la migration vers AGP 9. Consultez le guide de migration AGP 9 pour savoir comment faire.

Chaque version d'AGP a son propre ensemble de compatibilités avec d'autres outils, tels que Gradle, JDK et Kotlin. Les notes de version de chacune de ces versions incluront un tableau de Compatibilité indiquant les versions minimales pour ces outils.

N'utilisez pas cette compétence pour les projets KMP, car ils ne sont pas pris en charge.

Étapes

Si AGP est déjà à 9 ou supérieur, effectuez les étapes suivantes :

Étape 1 : Mettre à jour les dépendances

Si KSP (com.google.devtools.ksp) est utilisé dans le projet, assurez-vous qu'il est en version 2.3.6 ou supérieure.

Si Hilt est utilisé dans le projet, assurez-vous qu'il est en version 2.59.2 ou supérieure.

Étape 2 : Migrer vers Kotlin intégré

Consultez le guide pour des informations détaillées.

Étape 3 : Migrer vers le nouveau DSL AGP

Consultez le guide pour des informations détaillées.

Consultez également gradle-recipes pour des exemples de migration d'ancien code vers du code compatible avec AGP 9 et le nouveau DSL.

Étape 4 : Migrer kapt vers KSP ou legacy-kapt

Si KSP (com.google.devtools.ksp) ou kapt (org.jetbrains.kotlin.kapt) sont utilisés dans le projet, consultez KSP, kapt et legacy-kapt pour les étapes de migration détaillées.

Étape 5 : BuildConfig

Si un module Android contient des champs BuildConfig personnalisés, consultez BuildConfig pour des informations détaillées.

Étape 6 : Mettre à jour gradle.properties

Après la migration, vérifiez gradle.properties. Supprimez les indicateurs suivants :

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

De plus, supprimez tous les fichiers temporaires que vous avez créés.

Directives

  • N'écrivez ni n'exécutez jamais de scripts Python.
  • Ne fouillez le cache de dépendances Gradle que lors de l'inspection des dépendances externes, et uniquement en dernier recours.
  • N'ajoutez jamais android.disallowKotlinSourceSets=false à gradle.properties.
  • Lors de la vérification des modifications, n'exécutez pas la tâche clean. C'est une perte de temps.

Vérification

Après la migration, vérifiez les points suivants :

  1. La synchronisation Gradle IDE réussit.
  2. ./gradlew help réussit.
  3. ./gradlew build --dry-run réussit.

Dépannage

Paparazzi v2.0.0-alpha04 et versions antérieures présentent des problèmes avec AGP 9. Consultez references/paparazzi-gradle-9.md pour plus de détails.

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.

Skills associés