Aller au contenu
WebViewGold Du vibe coding à l'App Store
Français
Obtenir WebViewGold

Claude Code

Corriger les erreurs de build Gradle Android du projet WebViewGold avec Claude Code

Les builds Android échouent généralement pour des raisons peu glorieuses : Gradle tourne sur le mauvais JDK, Android Studio est plus ancien que le plugin Gradle du projet, un renommage de package a oublié google-services.json, ou le bundle est signé avec une clé que Google Play n'attend pas. Claude Code peut lancer le wrapper Gradle, lire la stack trace et corriger rapidement la plupart de ces problèmes. Voici les erreurs, les commandes et les parties qui restent entre vos mains.

Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.

  • Garantie d'approbation – ou remboursement sous 14 jours
  • Aucun codage requis
  • Paiement unique, mises à jour gratuites
  • Support humain 24/7
  • Conçu en Allemagne depuis 2014 · ISO 27001

Trois versions qui doivent s'accorder

Chaque build Android repose sur trois versions compatibles entre elles : le JDK qui exécute Gradle, la version de Gradle fixée dans gradle/wrapper/gradle-wrapper.properties, et le plugin Android Gradle (AGP) déclaré dans les fichiers de build. Par-dessus, compileSdk et targetSdk dans app/build.gradle exigent que la plateforme SDK correspondante soit installée. AGP 8 et les versions plus récentes exigent au moins le JDK 17.

Le piège classique : Android Studio compile avec son propre JDK intégré, alors que Claude Code dans le terminal utilise celui vers lequel pointe JAVA_HOME. C'est pour cela qu'un projet peut compiler sans problème dans l'IDE et échouer dans le shell de l'agent, ou l'inverse. Corrigez d'abord l'environnement. Mettre à jour AGP ou Gradle pour contourner un problème de JDK, c'est ainsi qu'un souci de dix minutes se transforme en week-end perdu.

Le projet Android WebViewGold est un projet Android Studio standard (le dossier téléchargé s'appelle AndroidStudioSource), configuré principalement dans Config.java et app/build.gradle, comme le montre la documentation d'installation Android.

Les commandes de diagnostic

Collez la sortie dans Claude Code, ou laissez l'agent lancer les commandes lui-même. Sous Windows, utilisez gradlew.bat au lieu de ./gradlew.

bash
# Run in the folder that contains gradlew

# Versions: Gradle, and the JVM it runs on
./gradlew --version
grep distributionUrl gradle/wrapper/gradle-wrapper.properties
grep -rnE "com.android.tools.build:gradle|com.android.application" build.gradle settings.gradle app/build.gradle
grep -nE "compileSdk|targetSdk|minSdk|applicationId|namespace|versionCode|versionName" app/build.gradle
java -version
echo "JAVA_HOME=$JAVA_HOME"

# Use the JDK that ships with Android Studio (macOS path; on Windows it is
# C:\Program Files\Android\Android Studio\jbr)
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"

# Debug build with a readable log
./gradlew assembleDebug --stacktrace 2>&1 | tee build-debug.log

# Release App Bundle for Google Play (uses your signing config)
./gradlew bundleRelease 2>&1 | tee build-release.log

Erreurs, causes et corrections

Erreur (extrait)CauseCorrectionQui
Android Gradle plugin requires Java 17 to run. You are currently using Java 11.Le terminal utilise un ancien JDKFaites pointer JAVA_HOME vers le JDK intégré à Android Studio ou vers le JDK 17 ou 21. Dans l'IDE : Settings, Build, Execution, Deployment, Build Tools, Gradle, Gradle JDKClaude (terminal), vous (réglage de l'IDE)
Unsupported class file major version 65La version de Gradle est trop ancienne pour le JDK qui l'exécute (65 correspond à Java 21)Lancez Gradle avec le JDK prévu pour le projet ; n'augmentez la version du wrapper que si le projet WebViewGold actuel le faitClaude
Minimum supported Gradle version is …Le wrapper est plus ancien que ce qu'exige la version d'AGP, souvent après une mise à jour involontaire d'AGPAnnulez la mise à jour d'AGP, ou réglez le wrapper sur la version indiquée dans l'erreurClaude
The project is using an incompatible version (AGP …) of the Android Gradle pluginAndroid Studio est plus ancien que le projetMettez Android Studio à jour ; ne rétrogradez pas le projetVous
SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable…Les builds en ligne de commande ne savent pas où se trouve le SDKDéfinissez sdk.dir dans local.properties (jamais commité) ou exportez ANDROID_HOMEClaude
Failed to find target with hash string 'android-36'La plateforme SDK pour compileSdk n'est pas installéeInstallez-la dans le SDK Manager ou avec sdkmanager "platforms;android-36"Claude ou vous
Dependency '…' requires libraries and applications that depend on it to compile against version 36 or laterUne bibliothèque a été mise à jour au-delà du compileSdk du projetAnnulez la mise à jour de la bibliothèque, ou augmentez délibérément compileSdk et testezClaude
No matching client found for package name 'com.example.app'google-services.json appartient encore à l'ancien package après un renommageEnregistrez le nouveau package dans Firebase, téléchargez un nouveau google-services.json et remplacez celui de app/Vous (Firebase), Claude (fichier)
Keystore was tampered with, or password was incorrectMauvais mot de passe du keystore ou mauvais fichier keystoreVérifiez keystore.properties vous-même ; ne collez jamais de mots de passe dans le chatVous
Play Console : Your Android App Bundle is signed with the wrong keySigné avec une autre clé que la clé d'importation attendue par Google PlayComparez les empreintes SHA-1 avec keytool -list -v -keystore your.jks ; retrouvez le bon keystore ou demandez une réinitialisation de la clé d'importation dans la Play ConsoleVous
Play Console : Version code … has already been usedversionCode n'a pas été augmentéAugmentez versionCode dans app/build.gradleClaude
Play Console : You uploaded a debuggable APK or Android App BundleUn build de debug a été envoyéCompilez avec bundleRelease et envoyez le .aab de app/build/outputs/bundle/release/Claude
Play Console : erreur de niveau d'API cibletargetSdk est inférieur à l'exigence actuelle de GoogleVoir la section targetSdk ci-dessousClaude et vous

Mon WebView iOS est enfin approuvé. Merci !!

Taha Farooqui · CodeCanyon

Renommer le package sans casser le build

WebViewGold pour Android est livré avec le nom de package com.webviewgold.myappname, et la documentation de publication vous demande de sauvegarder le projet et de le renommer avant votre premier envoi (avec une vidéo pour le renommage complet et une autre pour raccourcir le nom). Trois identifiants sont concernés, et les agents ont tendance à n'en changer qu'un seul :

  • applicationId dans app/build.gradle : l'identité dans Google Play. Il doit être unique et ne peut plus jamais changer après le premier envoi ; voir choisissez-le une fois pour toutes.
  • namespace : le package des classes R et BuildConfig générées.
  • Le package Java des dossiers sources et la ligne package en haut de chaque fichier.

Renommez avec le refactoring que montre la vidéo, puis laissez Claude Code chercher les restes avec grep -rn "com.webviewgold.myappname" app/. Mettez à jour tout ce qui doit suivre le nouveau nom, y compris google-services.json pour Firebase et, si vous utilisez les App Links, le nom du package dans votre assetlinks.json. Ce fichier contient aussi une empreinte SHA-256 : avec Play App Signing, utilisez l'empreinte de la clé de signature de l'app affichée dans la Play Console, pas celle de votre clé d'importation.

Gardez la signature hors du dépôt

Si vous configurez la signature de release à partir de zéro, voici le modèle Android standard : les valeurs de signature viennent d'un fichier keystore.properties qui n'existe que sur votre machine. Faites-en une modification unique et relue (écrivez-la vous-même ou laissez Claude l'ajouter une fois), créez vous-même le keystore et le fichier properties, et gardez-les tous les deux hors de Git. Si votre projet a déjà un bloc signingConfigs qui fonctionne, n'y touchez pas.

groovy
// app/build.gradle (excerpt, merge into the existing file)
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    signingConfigs {
        release {
            if (keystorePropertiesFile.exists()) {
                storeFile file(keystoreProperties["storeFile"])
                storePassword keystoreProperties["storePassword"]
                keyAlias keystoreProperties["keyAlias"]
                keyPassword keystoreProperties["keyPassword"]
            }
        }
    }
    buildTypes {
        release {
            // keep the template's existing release options, add only this line
            signingConfig signingConfigs.release
        }
    }
}

// keystore.properties lives next to settings.gradle and is NOT committed
// (add keystore.properties, *.jks and *.keystore to .gitignore):
// storeFile=/Users/you/keys/example-upload.jks
// storePassword=...
// keyAlias=upload
// keyPassword=...

La boucle de réparation

L'environnement d'abord, le projet ensuite, la signature en dernier.

  1. Préparez la machine

    Installez Android Studio et ouvrez le projet une fois, pour qu'il télécharge le SDK et crée local.properties. Lancez ensuite Claude Code dans le dossier qui contient gradlew.

  2. Diagnostiquez

    Collez le prompt ci-dessous. Claude relève les versions, lance un build de debug avec --stacktrace et nomme la première vraie erreur.

  3. Corrigez l'environnement

    Le JDK, le chemin du SDK et les plateformes SDK manquantes passent en premier. Ces corrections ne modifient pas un seul fichier du projet.

  4. Corrigez le projet, a minima

    Si une modification du projet est inévitable, l'agent propose le plus petit changement de version compatible et attend votre accord. Commitez-le séparément pour pouvoir l'annuler facilement.

  5. Compilez le bundle de release

    Lancez ./gradlew bundleRelease avec votre keystore en place, ou compilez-le dans Android Studio via Build, Generate Signed App Bundle.

  6. Envoyez d'abord en test interne

    Collez toute erreur de la Play Console dans Claude Code. Les nouveaux comptes développeur personnels doivent aussi passer par un test fermé avant la production ; voir l'exigence des 12 testeurs.

Le prompt de diagnostic

Le point 5 est le plus important : l'agent n'a jamais besoin de votre keystore ni de vos mots de passe pour corriger un build.

À coller dans Claude Code, dans le dossier du projet Android
Ce dossier est un projet Android WebViewGold (il contient gradlew). Le build échoue. Faites un diagnostic avant de modifier quoi que ce soit.

1. Lancez ./gradlew --version et java -version, affichez JAVA_HOME, et montrez : distributionUrl de gradle/wrapper/gradle-wrapper.properties, la version du plugin Android Gradle, compileSdk, targetSdk, minSdk, applicationId, namespace, versionCode et versionName.
2. Lancez ./gradlew assembleDebug --stacktrace et enregistrez la sortie dans build-debug.log.
3. Citez la première vraie erreur et expliquez-en la cause. Dites s'il s'agit d'un problème d'environnement (JDK, emplacement du SDK, plateforme SDK manquante) ou d'un problème de projet.
4. Privilégiez les corrections d'environnement. Ne mettez à jour ni le plugin Android Gradle, ni Gradle, ni Kotlin, ni aucune dépendance, sauf si l'erreur le rend inévitable ; dans ce cas, proposez le plus petit changement compatible et attendez mon accord.
5. N'ouvrez, n'affichez et ne modifiez jamais les fichiers keystore, keystore.properties, les mots de passe ni le bloc signingConfigs.
6. Quand le build de debug passe, donnez-moi la commande pour le bundle de release et listez les valeurs que Google Play vérifiera : targetSdk par rapport à l'exigence actuelle, et versionCode par rapport à mon dernier envoi.

Pièges

  • Cliquer sur « Upgrade » à chaque proposition d'Android Studio. L'AGP Upgrade Assistant est utile entre deux releases, pas au milieu de l'une d'elles.
  • Commiter des fichiers propres à la machine. local.properties contient le chemin de votre SDK, les keystores contiennent votre identité de publication. Les deux ont leur place dans .gitignore.
  • Perdre la clé d'importation. Avec Play App Signing, Google détient la clé de signature de l'app et vous pouvez demander une réinitialisation de la clé d'importation. Sans sauvegarde et sans Play App Signing, vous ne pouvez plus mettre l'app à jour. Sauvegardez dès aujourd'hui le keystore et ses mots de passe dans un gestionnaire de mots de passe.
  • Rechercher-remplacer pour renommer le package. Remplacer du texte dans tout le projet, dossiers de build compris, produit des erreurs qui semblent sans rapport. Renommez avec l'IDE, puis cherchez les restes.
  • Changer l'applicationId après le premier envoi. Google Play le traite comme une autre app, sans installations, sans avis et sans chemin de mise à jour.
  • Attendre d'une session cloud qu'elle compile Android. Claude Code sur le web tourne dans une VM Linux avec OpenJDK 21 et Gradle, mais sans le SDK Android : il peut modifier le projet, mais pas le compiler sans configuration supplémentaire. Compilez en local ou avec le Cloud Builder.

Checklist avant l'envoi

  • HOST et HOME_URL dans Config.java pointent vers le domaine de production.
  • L'applicationId est définitif et correspond à l'app dans la Play Console.
  • versionCode augmenté, versionName défini.
  • targetSdk respecte l'exigence actuelle de Google Play.
  • google-services.json correspond au package, si vous utilisez Firebase.
  • Signé avec la clé d'importation dont la Play Console affiche le SHA-1.
  • Vous envoyez un fichier .aab, pas un APK.
  • assetlinks.json liste le package et le SHA-256 de la clé de signature Play, si vous utilisez les App Links.

Questions fréquentes

Quel JDK le projet Android WebViewGold doit-il utiliser ?

Le JDK intégré à Android Studio est le choix sûr par défaut, car c'est celui que l'IDE utilise pour Gradle. AGP 8 et les versions plus récentes exigent au moins le JDK 17 ; utilisez le même JDK dans le terminal en faisant pointer JAVA_HOME vers lui.

Pourquoi le build fonctionne-t-il dans Android Studio mais pas dans Claude Code ?

Presque toujours à cause d'un JDK différent ou d'un chemin de SDK manquant dans le terminal. Comparez la sortie de ./gradlew --version aux deux endroits et réglez JAVA_HOME et sdk.dir en conséquence.

J'ai perdu mon keystore. Claude Code peut-il le récupérer ?

Personne ne peut récupérer une clé perdue. Si votre app utilise Play App Signing, demandez une réinitialisation de la clé d'importation dans la Play Console et créez une nouvelle clé d'importation. Sans Play App Signing, une clé perdue signifie une nouvelle fiche d'app.

Dois-je mettre WebViewGold à jour pour une nouvelle exigence targetSdk ?

Pas obligatoirement, mais c'est généralement le chemin le moins risqué, car le projet actuel utilise déjà des versions compatibles de Gradle et du plugin. Les mises à jour sont gratuites, et Claude Code peut reporter vos réglages.

Puis-je compiler l'app Android sans Android Studio ?

Oui. Avec les outils en ligne de commande du SDK Android installés, ./gradlew bundleRelease compile depuis le terminal. Sans aucune installation locale, le Cloud Builder compile et envoie l'app depuis le navigateur.

Trois façons de mettre votre app dans les stores

Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.

Faites-le vous-même

$109 par plateforme, paiement unique

La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.

Voir les offres sur la page principale

Full Service

$698 par plateforme $798

Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.

Détails du Full Service Propulsé par WeSetupYourWebViewApp

Prix Soldes d'hiver valables jusqu'au 31 décembre 2026.

Prêt à publier votre app ?

Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours

Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.

Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.