Ich weiß, dass diese Frage von mir oft gestellt wurde, und ich habe die meisten Antworten verfolgt, aber keine davon hat mir geholfen. Das ist also mein Problem. Wenn ich mein Projekt synchronisiere, schlägt das immer fehl. So sieht die Gradle Console aus:
Tasks ausführen: [: app: generateDebugSources, : app: generateDebugAndroidTestSources,: app: mockableAndroidJar, : app: prepareDebugUnitTestDependencies]
Konfiguration bei Bedarf ist eine Inkubationsfunktion. Inkrementelles Java Die Kompilierung ist eine Inkubationsfunktion. : app: pre-build-up-to-date : app: preDebugBuild UP-TO-DATE: app: checkDebugManifest : app: preReleaseBuild UP-TO-DATE : app: prepareComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-DATE: app: prepareComAndroidSupportAppcompatV72420Library UP-TO-DATE: app: prepareComAndroidSupportDesign2420Library UP-TO-DATE : app: prepareComAndroidSupportMediarouterV72300Bibliothek UP-TO-DATE : app: prepareComAndroidSupportRecyclerviewV72420Bibliothek UP-TO-DATE : app: prepareComAndroidSupportSupportCompat2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportCoreUi2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportCoreUtils2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportFragment2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportMediaCompat2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportV42420Library UP-TO-DATE : app: prepareComAndroidSupportSupportVectorDrawable2420Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServices940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAds940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesAdsLite940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesAnalytics940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesAppindexing940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesAppinvite940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAuth940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesAuthBase940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesBase940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesBasement940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesCast940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesCastFramework940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesClearcut940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesContextmanager940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesDrive940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesFitness940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesGames940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesGass940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesGcm940Library AUF DEM NEUSTEN STAND : app: prepareComGoogleAndroidGmsPlayServicesIdentity940Library FAILURE: Fehler beim Erstellen mit einer Ausnahme.
Was ist schief gelaufen: Java.lang.NullPointerException (keine Fehlermeldung)
Versuchen Sie: Führen Sie die Option mit der Option --stacktrace aus, um den Stack-Trace abzurufen. Führen Sie die Option --info oder --debug aus, um weitere Protokollausgaben zu erhalten.
BUILD FAILED
Gesamtzeit: 7.518 Sekunden
UND das sind meine Abhängigkeiten
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:24.2.0'
compile 'com.Android.support:design:24.2.0'
compile 'com.google.Android.gms:play-services:9.4.0'
testCompile 'junit:junit:4.12'
compile 'com.google.Android.gms:play-services-location:9.4.0'
compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-database:9.0.2'
compile 'com.firebase:firebase-client-Android:2.4.0'
compile 'com.google.firebase:firebase-core:9.4.0'
}
apply plugin: 'com.google.gms.google-services'
Wie kann das Problem gelöst werden?
Ich habe den Ordner .gradle aus dem Projekt gelöscht und konnte ihn erneut erstellen.
N.B: Erstellen Sie eine Sicherung, nur für den Fall.
Dieses Problem wurde erstellt, als das System plötzlich neu gestartet und dann die Datei beschädigt wurde. und diese beschädigte Datei wurde zwischengespeichert, daher müssen wir diese Datei aus Ihrem Projekt löschen
your_project_path/.gradle/2.14.1/taskArtifacts
Es wird erneut generiert.
Starten Sie dann das Android-Studio neu und kompilieren Sie das Projekt erneut.
quelle: https://code.google.com/p/Android/issues/detail?id=220741#c13
Es ist für mich gearbeitet.
Wenn dieses Problem auch nach dem Löschen des Ordners .gradle unter dem Pfad Ihres Projekts weiterhin auftritt , kill all Java = Prozesse ausgeführt auf dem Task-Manager und versuchen, aktualisieren Sie Ihre Android Studio.
Ich war in der gleichen Situation, aber jetzt funktioniert es gut.
Hoffe es hilft !
Das Problem ist wahrscheinlich die Datei gradle.properties. Wenn Sie im Terminal ./gradlew tasks
eingeben, wird der von Ihnen erwähnte Fehler angezeigt. ./gradlew tasks --info
zeigt jedoch weitere Details zum Fehler an. Für mich war es in allen meinen Projekten die gleiche Fehlermeldung:
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home,daemonRegistryDir=/Users/christian/.gradle/daemon,pid=66346,idleTimeout=null,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=4bf81505-0eab-4f50-859a-8c9c616b97e5,javaHome=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home,daemonRegistryDir=/Users/christian/.gradle/daemon,pid=65018,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Lösung: (keine Notwendigkeit, .bash_profile
zu bearbeiten oder Gradle herunterzustufen oder gradle.folder zu löschen).
org.gradle.Java.home=path
in gradle.properties hinzu. Dabei ist path
der Java-Pfad von Android Studio (die tatsächliche Java-Startseite ist im --info
-Protokoll angegeben). Für mich ist es /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
, für Sie könnte der Pfad anders sein.So sieht meine gradle.properties-Datei nach der Änderung aus:
org.gradle.Java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
org.gradle.daemon=true
Hinweise : Das Leerzeichen zwischen "Android Studio" im Pfad ist beabsichtigt. Es funktioniert nicht, wenn ein Unterstrich verwendet wird. Escape-Zeichen \
sind erlaubt, werden aber nicht benötigt: ...Android\ Studio.app/Contents/jre....
Ich habe auch den Daemon-Build-Runner aktiviert, aber für gradlew nicht erforderlich, um seine Aufgaben auszuführen. Wenn sich der Nullzeigerfehler unterscheidet, verwenden Sie --info
, um Sie in die richtige Richtung zu weisen.
Ich renne:
Android Studio 3.1.4 (on a Mac 10.13)
Java version "10"
classpath 'com.Android.tools.build:gradle:3.1.4' (dependency)
Hoffe es hilft jemandem!
Entfernen Sie die folgenden Zeilen aus den Abhängigkeiten, da Sie bereits vollständige Play Services-Abhängigkeiten kompilieren
compile 'com.google.Android.gms:play-services-location:9.4.0'
compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
Überprüfen Sie Ihren app/build.gradle
. Mein Problem war ein '
in einer Abhängigkeit.
compile 'com.google.Android.gms:play-services-location:9.4.0'
compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-database:9.0.2'
Nicht sicher, dass dies der Schuldige ist, aber Sie haben hier mit den verwendeten Versionen ziemlich durcheinander geraten. Versuchen Sie, für alle zugehörigen Komponenten aktuelle Versionen zu verwenden oder zumindest dieselben zu verwenden.
Dieses Tool kann Ihnen helfen, in Zukunft synchron zu bleiben: https://github.com/ben-manes/gradle-versions-plugin
Ich hatte ein ähnliches Problem beim Importieren von Firebase in mein Projekt. Stellen Sie zunächst sicher, dass Sie die Schritte des Lernprogramms korrekt befolgt und die bereitgestellte .json-Datei in das richtige Verzeichnis importiert haben.
Seit Firebase Version 9.0 wurde es in die Google Play-Dienste implementiert. Damit Firebase ordnungsgemäß funktioniert, müssen Sie sicherstellen, dass die Google Play-Dienste auf dem von Ihnen getesteten Gerät auf dem neuesten Stand sind.
Ich habe diese Antwort auch als hilfreich beim Lösen meines Problems gefunden https://stackoverflow.com/a/37310513/6728099
Ich habe das gleiche Problem, wenn die Java-Version 1.9 ist
jenv use Java 1.8
alles problem ist gelöst.
Aufgrund der jdk-Version erhielt ich eine NPE. Durch das Herabstufen von 11 auf 8 wurde dieses Problem behoben
So entfernen Sie jdk 11
Sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:kaptDebugKotlin'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.Java:110)
Caused by: Java.lang.NullPointerException
at org.gradle.workers.internal.DefaultWorkerExecutor$2.transform(DefaultWorkerExecutor.Java:164)
at org.gradle.workers.internal.DefaultWorkerExecutor$2.transform(DefaultWorkerExecutor.Java:161)
at org.gradle.util.CollectionUtils.collect(CollectionUtils.Java:204)
at org.gradle.util.CollectionUtils.collect(CollectionUtils.Java:187)
at org.gradle.util.CollectionUtils.collect(CollectionUtils.Java:191)
at org.gradle.workers.internal.DefaultWorkerExecutor.getDaemonForkOptions(DefaultWorkerExecutor.Java:161)
at org.gradle.workers.internal.DefaultWorkerExecutor.submit(DefaultWorkerExecutor.Java:96)
at org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask.compile(KaptWithoutKotlincTask.kt:75)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)