Zum Inhalt springen
WebViewGold Vibe Coding in den App Store
Deutsch
WebViewGold holen

Claude Code

Android-Gradle-Build-Fehler im WebViewGold-Projekt mit Claude Code beheben

Android-Builds scheitern meist an unspektakulären Gründen: Gradle läuft mit dem falschen JDK, Android Studio ist älter als das Gradle-Plugin des Projekts, bei der Umbenennung des Packages wurde google-services.json vergessen, oder das Bundle ist mit einem Schlüssel signiert, den Google Play nicht erwartet. Claude Code kann den Gradle Wrapper ausführen, den Stacktrace lesen und die meisten dieser Probleme schnell beheben. Hier sind die Fehler, die Befehle und die Teile, die bei dir bleiben.

Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.

  • Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
  • Kein Programmieren nötig
  • Einmalzahlung, kostenlose Updates
  • 24/7 Support von echten Menschen
  • Made in Germany seit 2014 · ISO 27001

Drei Versionen, die zusammenpassen müssen

Jeder Android-Build hängt davon ab, dass drei Versionen zusammenpassen: das JDK, mit dem Gradle läuft, die Gradle-Version, die in gradle/wrapper/gradle-wrapper.properties festgelegt ist, und das Android Gradle Plugin (AGP), das in den Build-Dateien deklariert ist. Außerdem muss für compileSdk und targetSdk in app/build.gradle die passende SDK-Plattform installiert sein. AGP 8 und neuer brauchen mindestens JDK 17.

Die klassische Falle: Android Studio baut mit seinem eigenen mitgelieferten JDK, während Claude Code im Terminal das nutzt, worauf JAVA_HOME zeigt. Deshalb kann ein Projekt in der IDE problemlos bauen und in der Shell des Agenten scheitern, oder umgekehrt. Bring zuerst die Umgebung in Ordnung. Wer AGP oder Gradle aktualisiert, um ein JDK-Problem zu umgehen, macht aus einem Zehn-Minuten-Problem ein ganzes Wochenende.

Das WebViewGold-Android-Projekt ist ein normales Android-Studio-Projekt (der Download-Ordner heißt AndroidStudioSource), das hauptsächlich über Config.java und app/build.gradle konfiguriert wird, wie die Android-Setup-Dokumentation zeigt.

Die Diagnosebefehle

Füge die Ausgabe in Claude Code ein oder lass den Agenten die Befehle selbst ausführen. Unter Windows nimmst du gradlew.bat statt ./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

Fehler, Ursachen und Fixes

Fehler (Auszug)UrsacheFixWer
Android Gradle plugin requires Java 17 to run. You are currently using Java 11.Das Terminal nutzt ein altes JDKSetze JAVA_HOME auf das mit Android Studio mitgelieferte JDK oder auf JDK 17 oder 21. In der IDE: Settings, Build, Execution, Deployment, Build Tools, Gradle, Gradle JDKClaude (Terminal), du (IDE-Einstellung)
Unsupported class file major version 65Die Gradle-Version ist zu alt für das JDK, mit dem sie läuft (65 ist Java 21)Gradle mit dem JDK ausführen, für das das Projekt gemacht ist; die Wrapper-Version nur anheben, wenn das aktuelle WebViewGold-Projekt das auch tutClaude
Minimum supported Gradle version is …Der Wrapper ist älter, als die AGP-Version verlangt, oft nach einem versehentlichen AGP-UpgradeDas AGP-Upgrade rückgängig machen oder den Wrapper auf die im Fehler genannte Version setzenClaude
The project is using an incompatible version (AGP …) of the Android Gradle pluginAndroid Studio ist älter als das ProjektAndroid Studio aktualisieren; das Projekt nicht downgradenDu
SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable…Builds über die Kommandozeile wissen nicht, wo das SDK liegtsdk.dir in local.properties setzen (nie committen) oder ANDROID_HOME exportierenClaude
Failed to find target with hash string 'android-36'Die SDK-Plattform für compileSdk ist nicht installiertIm SDK Manager installieren oder mit sdkmanager "platforms;android-36"Claude oder du
Dependency '…' requires libraries and applications that depend on it to compile against version 36 or laterEine Bibliothek wurde über das compileSdk des Projekts hinaus aktualisiertDas Upgrade der Bibliothek rückgängig machen oder compileSdk bewusst anheben und testenClaude
No matching client found for package name 'com.example.app'google-services.json gehört nach einer Umbenennung noch zum alten PackageDas neue Package in Firebase registrieren, eine neue google-services.json herunterladen und die Datei in app/ ersetzenDu (Firebase), Claude (Datei)
Keystore was tampered with, or password was incorrectFalsches Store-Passwort oder falsche Keystore-DateiPrüfe keystore.properties selbst; füge nie Passwörter in den Chat einDu
Play Console: Your Android App Bundle is signed with the wrong keyMit einem anderen Schlüssel signiert als dem Upload-Schlüssel, den Google Play erwartetSHA-1-Fingerprints mit keytool -list -v -keystore your.jks vergleichen; den richtigen Keystore finden oder in der Play Console das Zurücksetzen des Upload-Schlüssels beantragenDu
Play Console: Version code … has already been usedversionCode wurde nicht erhöhtversionCode in app/build.gradle erhöhenClaude
Play Console: You uploaded a debuggable APK or Android App BundleEin Debug-Build wurde hochgeladenMit bundleRelease bauen und die .aab aus app/build/outputs/bundle/release/ hochladenClaude
Play Console: Fehler zum Ziel-API-LeveltargetSdk liegt unter der aktuellen Anforderung von GoogleSiehe den Abschnitt zu targetSdk untenClaude und du

Mein iOS WebView wurde endlich genehmigt. Danke!!

Taha Farooqui · CodeCanyon

Das Package umbenennen, ohne den Build zu zerstören

WebViewGold für Android wird mit dem Package-Namen com.webviewgold.myappname ausgeliefert, und die Dokumentation zur Veröffentlichung bittet dich, das Projekt zu sichern und es vor deinem ersten Upload umzubenennen (mit einem Video für die vollständige Umbenennung und einem zum Kürzen des Namens). Drei Kennungen sind beteiligt, und Agenten ändern gern nur eine davon:

  • applicationId in app/build.gradle: die Identität bei Google Play. Sie muss eindeutig sein und kann sich nach dem ersten Upload nie mehr ändern; siehe einmal festlegen.
  • namespace: das Package der generierten Klassen R und BuildConfig.
  • Das Java-Package der Quellordner und die package-Zeile am Anfang jeder Datei.

Benenne mit dem Refactoring um, das das Video zeigt, und lass Claude Code dann mit grep -rn "com.webviewgold.myappname" app/ nach Überbleibseln suchen. Aktualisiere alles, was dem neuen Namen folgen soll, auch google-services.json für Firebase und, wenn du App Links nutzt, den Package-Namen in deiner assetlinks.json. Diese Datei enthält auch einen SHA-256-Fingerprint: Mit Play App Signing nimmst du den Fingerprint des App-Signaturschlüssels aus der Play Console, nicht den deines Upload-Schlüssels.

Halte die Signierung aus dem Repository heraus

Wenn du die Release-Signierung von Grund auf einrichtest, ist das hier das Standardmuster unter Android: Die Signing-Werte kommen aus einer Datei keystore.properties, die nur auf deinem Rechner existiert. Mach daraus eine einmalige, geprüfte Änderung (schreib sie selbst oder lass Claude sie einmal hinzufügen), erstelle Keystore und Properties-Datei selbst und halte beide aus Git heraus. Hat dein Projekt schon einen funktionierenden signingConfigs-Block, lass ihn in Ruhe.

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=...

Die Reparaturschleife

Erst die Umgebung, dann das Projekt, zuletzt die Signierung.

  1. Den Rechner vorbereiten

    Installiere Android Studio und öffne das Projekt einmal, damit es das SDK herunterlädt und local.properties anlegt. Starte dann Claude Code in dem Ordner, der gradlew enthält.

  2. Diagnostizieren

    Füge den Prompt unten ein. Claude sammelt die Versionen, führt einen Debug-Build mit --stacktrace aus und benennt den ersten echten Fehler.

  3. Die Umgebung reparieren

    JDK, SDK-Pfad und fehlende SDK-Plattformen kommen zuerst. Diese Fixes ändern keine einzige Projektdatei.

  4. Das Projekt minimal reparieren

    Ist eine Änderung am Projekt unvermeidbar, schlägt der Agent die kleinste kompatible Versionsänderung vor und wartet auf dein OK. Committe sie separat, damit du sie leicht zurücknehmen kannst.

  5. Das Release-Bundle bauen

    Führe ./gradlew bundleRelease mit deinem Keystore aus oder bau es in Android Studio über Build, Generate Signed App Bundle.

  6. Zuerst in den internen Test hochladen

    Füge jeden Fehler aus der Play Console in Claude Code ein. Neue private Entwicklerkonten brauchen außerdem einen geschlossenen Test vor der Produktion; siehe die Anforderung mit 12 Testern.

Der Diagnose-Prompt

Punkt 5 ist der wichtigste: Um einen Build zu reparieren, braucht der Agent nie deinen Keystore oder deine Passwörter.

In Claude Code im Ordner des Android-Projekts einfügen
Dieser Ordner ist ein WebViewGold-Android-Projekt (er enthält gradlew). Der Build schlägt fehl. Diagnostiziere, bevor du etwas änderst.

1. Führe ./gradlew --version und java -version aus, gib JAVA_HOME aus und zeig mir: distributionUrl aus gradle/wrapper/gradle-wrapper.properties, die Version des Android Gradle Plugins, compileSdk, targetSdk, minSdk, applicationId, namespace, versionCode und versionName.
2. Führe ./gradlew assembleDebug --stacktrace aus und speichere die Ausgabe in build-debug.log.
3. Zitiere den ersten echten Fehler und erkläre die Ursache. Sag, ob es ein Problem der Umgebung (JDK, SDK-Pfad, fehlende SDK-Plattform) oder des Projekts ist.
4. Bevorzuge Fixes an der Umgebung. Aktualisiere weder das Android Gradle Plugin noch Gradle, Kotlin oder irgendeine Abhängigkeit, außer der Fehler macht es unvermeidbar; schlag in diesem Fall die kleinste kompatible Änderung vor und warte auf mein OK.
5. Öffne, zeige oder ändere niemals Keystore-Dateien, keystore.properties, Passwörter oder den signingConfigs-Block.
6. Wenn der Debug-Build durchläuft, gib mir den Befehl für das Release-Bundle und liste die Werte auf, die Google Play prüft: targetSdk im Vergleich zur aktuellen Anforderung und versionCode im Vergleich zu meinem letzten Upload.

Fallstricke

  • Bei jedem Hinweis in Android Studio auf "Upgrade" klicken. Der AGP Upgrade Assistant ist zwischen Releases nützlich, nicht mitten in einem.
  • Rechnerspezifische Dateien committen. local.properties enthält deinen SDK-Pfad, Keystores enthalten deine Identität als Publisher. Beides gehört in die .gitignore.
  • Den Upload-Schlüssel verlieren. Mit Play App Signing verwahrt Google den App-Signaturschlüssel, und du kannst das Zurücksetzen des Upload-Schlüssels beantragen. Ohne Backup und ohne Play App Signing kannst du die App nicht mehr aktualisieren. Sichere den Keystore und seine Passwörter noch heute in einem Passwortmanager.
  • Suchen und Ersetzen für die Package-Umbenennung. Text im ganzen Projekt zu ersetzen, inklusive der Build-Ordner, erzeugt Fehler, die scheinbar nichts damit zu tun haben. Benenne mit der IDE um und such danach nach Überbleibseln.
  • Die applicationId nach dem ersten Upload ändern. Google Play behandelt das als andere App, ohne Installationen, ohne Bewertungen und ohne Update-Pfad.
  • Erwarten, dass eine Cloud-Session Android baut. Claude Code im Web läuft in einer Linux-VM mit OpenJDK 21 und Gradle, aber ohne Android SDK; es kann das Projekt also bearbeiten, aber ohne zusätzliches Setup nicht bauen. Bau lokal oder mit dem Cloud Builder.

Checkliste vor dem Upload

  • HOST und HOME_URL in Config.java zeigen auf die Produktionsdomain.
  • Die applicationId ist endgültig und passt zur App in der Play Console.
  • versionCode erhöht, versionName gesetzt.
  • targetSdk erfüllt die aktuelle Anforderung von Google Play.
  • google-services.json passt zum Package, falls du Firebase nutzt.
  • Signiert mit dem Upload-Schlüssel, dessen SHA-1 die Play Console anzeigt.
  • Du lädst eine .aab-Datei hoch, kein APK.
  • assetlinks.json enthält das Package und den SHA-256 der Play-App-Signatur, falls du App Links nutzt.

Häufig gestellte Fragen

Welches JDK sollte das WebViewGold-Android-Projekt nutzen?

Das mit Android Studio mitgelieferte JDK ist der sichere Standard, weil die IDE genau dieses für Gradle verwendet. AGP 8 und neuer brauchen mindestens JDK 17; nutze im Terminal dasselbe JDK, indem du JAVA_HOME darauf setzt.

Warum klappt der Build in Android Studio, aber nicht in Claude Code?

Fast immer wegen eines anderen JDK oder eines fehlenden SDK-Pfads im Terminal. Vergleiche die Ausgabe von ./gradlew --version an beiden Orten und setze JAVA_HOME und sdk.dir entsprechend.

Ich habe meinen Keystore verloren. Kann Claude Code ihn wiederherstellen?

Einen verlorenen Schlüssel kann niemand wiederherstellen. Nutzt deine App Play App Signing, beantrage in der Play Console das Zurücksetzen des Upload-Schlüssels und erstelle einen neuen Upload-Schlüssel. Ohne Play App Signing bedeutet ein verlorener Schlüssel einen neuen App-Eintrag.

Muss ich WebViewGold für eine neue targetSdk-Anforderung aktualisieren?

Nicht zwingend, aber meist ist das der Weg mit dem geringsten Risiko, weil das aktuelle Projekt schon kompatible Versionen von Gradle und Plugin nutzt. Updates sind kostenlos, und Claude Code kann deine Einstellungen übernehmen.

Kann ich die Android-App ohne Android Studio bauen?

Ja. Mit den installierten Command-Line-Tools des Android SDK baut ./gradlew bundleRelease aus dem Terminal. Ganz ohne lokales Setup kompiliert der Cloud Builder die App im Browser und lädt sie hoch.

Drei Wege, deine App in die Stores zu bringen

Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.

Selbst machen

$109 pro Plattform, einmalig

Die WebViewGold-Lizenz: ein fertiges Xcode- oder Android-Studio-Projekt. URL einfügen, Name und Icon setzen, Features einschalten, bauen und einreichen. Kostenlose Updates für immer.

Pakete auf der Hauptseite ansehen

Full Service

$698 pro Plattform $798

Schick uns deine URL und dein Icon. Unser Team konfiguriert, baut und liefert deine App innerhalb von 72 Stunden, White-Label, inklusive Quellprojekten. Beide Plattformen für $1,158.

Full-Service-Details Powered by WeSetupYourWebViewApp

Winter-Sale-Preise gültig bis 31. Dezember 2026.

Bereit, deine App zu veröffentlichen?

App Store & Google Play Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen

Lieber abgeben? Full Service: Wir konfigurieren, bauen und liefern innerhalb von 72 Stunden, ab $698 pro Plattform. Fragen? Chatte mit uns – 24/7.

Erstattungen erfolgen zu den in unseren FAQ genannten Bedingungen: eine nicht inhaltsbedingte Ablehnung durch Apple und/oder Google, geltend gemacht innerhalb von 14 Tagen nach dem Kauf.