java.lang.NullPointerException (keine Fehlermeldung)


81

Ich weiß, dass meine Frage oft gestellt wurde und ich die meisten Antworten befolgt habe, aber keine davon hat mir geholfen. Das ist also mein Problem, wenn ich mein Projekt synchronisiere, schlägt es immer fehl. So sieht die Gradle-Konsole aus:

Ausführen von Aufgaben: [: app: generateDebugSources ,: app: generateDebugAndroidTestSources ,: app: mockableAndroidJar ,: app: prepareDebugUnitTestDependencies]

Die Konfiguration bei Bedarf ist eine Inkubationsfunktion. Die inkrementelle Java-Kompilierung ist eine Inkubationsfunktion. : app: preBuild UP-TO-DATE: App: preDebugBuild UP-TO-DATE: App: checkDebugManifest: App: preReleaseBuild UP-TO-DATE: App: prepareComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-DATE: App: prepareComAcompat App: prepareComAndroidSupportDesign2420Library UP-TO-DATE: App: prepareComAndroidSupportMediarouterV72300Library UP-TO-DATE: App: prepareComAndroidSupportRecyclerviewV72420Library UP-TO-DATE: App: prepareComAndroidSupportSupportCompat2420Library UP-TO-DATE: App: prepareComAndroidSupportSupportCoreUi2420Library UP-TO-DATE: App: prepareComAndroidSupportSupportCoreUtils2420Library UP- TO-DATE: App: prepareComAndroidSupportSupportFragment2420Library AKTUELL: App:

  • Was ist schief gelaufen: java.lang.NullPointerException (keine Fehlermeldung)

  • Versuchen Sie: Führen Sie die Option --stacktrace aus, um den Stack-Trace abzurufen. Führen Sie die Option --info oder --debug aus, um mehr Protokollausgabe zu erhalten.

BAU FEHLGESCHLAGEN

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 behoben werden?


3
Ich hatte gerade das gleiche Problem. Build -> Clean Project, dann hat die Wiederholung für mich funktioniert.
w3bshark

Manchmal erkennt Android Studio Fehler wie nicht. 1. Fehler Sintaxis, 2. Ressourcen nicht gefunden, 3. Änderungen im Code .. und andere .. Mein Fall hat Änderungen nicht gefunden ..
Marlonpya

@marlonpya werfen Sie einen Blick hier , das Problem ist höchstwahrscheinlich mit gradle.properties.
Chornge

Jedes Mal, wenn ich Android Studio aktualisiere, passiert so etwas Seltsames. Der saubere Build von w3bshark hat bei mir funktioniert.
Dale

Antworten:


189

Ich habe den .gradle- Ordner aus dem Projekt gelöscht und konnte ihn erneut erstellen .

NB: Erstellen Sie für alle Fälle ein Backup.


Welche Gradle-Datei meinst du?
Sweetzyl Pili

6
Im Stammordner Ihres Projekts befindet sich der Ordner ".gradle". Löschen Sie es und starten Sie Android Studio neu. Es wird während des Builds neu erstellt.
Rastik

Habt ihr so ​​etwas erlebt? ( stackoverflow.com/questions/39749380/… ). Dies hat sicherlich nicht für mich funktioniert: / @rastik
Siddhant Rimal

Ich kann keinen .gradle-Ordner unter meinem Projektordner finden, nur gradle-Ordner, aber nicht .gradle. Ich verwende MAC. Lösen Sie das?
Aznelite89

5
Löschen von .gradle funktioniert keine andere Lösung? Ich sehe diesen Ordner compileDebugJavaWithJavac im Ordner app-tmp und er hat einen leeren Ordner mit dem Namen emptySourcePathRef ... Das Reinigungsprojekt löscht diesen Ordner, also gehe ich davon aus, dass dies der
Fall

28

Dieses Problem trat auf, als das System plötzlich neu gestartet und die Gradle-Datei beschädigt wurde. und diese beschädigte Datei zwischengespeichert, so 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 neu.

Quelle: https://code.google.com/p/android/issues/detail?id=220741#c13

Es ist für mich gearbeitet.


Nur eine Anmerkung: Stellen Sie sicher, dass Sie alle Projektfenster schließen, um Android Studio neu zu starten, nicht nur das Projektfenster.
Obst

es funktioniert für mich (pb mit ionic (Ionic CLI): 3.19.0) Ausführung für Task ': compileArmv7DebugJavaWithJavac' fehlgeschlagen. > java.lang.NullPointerException (keine Fehlermeldung)
m50

3

Wenn Sie immer noch dieses Problem haben, beenden Sie auch nach dem Löschen des .gradle-Ordners unter dem Pfad Ihres Projekts, wie oben vorgeschlagen , alle im Task-Manager ausgeführten Java-Prozesse und versuchen Sie, Ihr Android Studio zu aktualisieren .

Ich war in der gleichen Situation, aber jetzt funktioniert es gut.

Ich hoffe es hilft!


2

Ich habe das gleiche Problem, wenn die Java-Version 1.9 ist

jenv use java 1.8 

Alles Problem ist gelöst.


1

Das Problem ist wahrscheinlich die Datei gradle.properties. Wenn Sie ./gradlew tasksdas Terminal eingeben, wird der von Ihnen erwähnte Fehler angezeigt, es werden jedoch ./gradlew tasks --infoweitere Details zum Fehler angezeigt. Für mich war es in allen meinen Projekten dieselbe 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: ( .bash_profileGradle.folder muss nicht bearbeitet oder herabgestuft oder gelöscht werden ).

  • Fügen Sie org.gradle.java.home=pathgradle.properties hinzu. Wo pathist der Java-Pfad für Android Studio (die tatsächliche Java-Startseite ist im --infoProtokoll angegeben) ? Für mich ist es /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home, für Sie könnte der Weg anders sein.

So sieht meine Datei gradle.properties nach der Änderung aus:

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
org.gradle.daemon=true 

Hinweise : Der Abstand zwischen " Android Studio " im Pfad ist absichtlich und funktioniert nicht, wenn ein Unterstrich verwendet wird. Escapezeichen \sind erlaubt, werden aber nicht benötigt:...Android\ Studio.app/Contents/jre....

Ich habe auch den Daemon Build Runner aktiviert, aber nicht benötigt, damit gradlew seine Aufgaben ausführen kann. Wenn Ihr Nullzeigerfehler anders ist --info, zeigen Sie mit in die richtige Richtung.

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!


Wenn ich runnign Befehl ./gradlew Aufgaben bin, dann bekomme ich kein Problem, aber während der Build-Zeit bekomme ich das erwähnte Problem.
Anuj

0
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'

Ich bin mir nicht sicher, ob dies der Schuldige ist, aber Sie haben hier ziemlich viel mit gebrauchten Versionen zu tun. Versuchen Sie, aktuelle Versionen oder zumindest die gleichen für alle zugehörigen Komponenten zu verwenden.

Dieses Tool kann Ihnen helfen, in Zukunft synchron zu bleiben: https://github.com/ben-manes/gradle-versions-plugin


0

Ich hatte ein ähnliches Problem beim Importieren von Firebase in mein Projekt. Stellen Sie zunächst sicher, dass Sie die Schritte des Lernprogramms korrekt ausgeführt und die bereitgestellte .json-Datei in das richtige Verzeichnis importiert haben.

Da Firebase v9.0 in den Google Play-Diensten implementiert ist, stellen Sie sicher, dass die Google Play-Dienste auf dem zu testenden Gerät auf dem neuesten Stand sind, damit Firebase ordnungsgemäß funktioniert.

Ich fand diese Antwort auch hilfreich bei der Lösung meines Problems https://stackoverflow.com/a/37310513/6728099


Noch bevor ich Firebase importiert habe, hat es immer noch den gleichen Fehler. Ich habe gerade die Firebase hinzugefügt, damit ich mit meinem Projekt fortfahren kann. Tatsächlich habe ich eine Dummy-App erstellt, um zu überprüfen, ob ich das Tutorial korrekt befolgt habe. Ich habe auch mein AS und das SDK aktualisiert, aber das Problem wurde nicht gelöst.
Sweetzyl Pili

0

Entfernen Sie die folgenden Zeilen aus den Abhängigkeiten, da Sie bereits die vollständige Abhängigkeit der Wiedergabedienste kompilieren

    compile 'com.google.android.gms:play-services-location:9.4.0'
    compile 'com.google.android.gms:play-services-appindexing:9.4.0'

1
Baue dein Projekt wieder auf
Yogesh Rathi

Verwenden Sie Firebase und spielen Sie Service 9.0, ich benutze dann funktioniert perfekt, so können Sie erneut mit 9.0 Version überprüfen
Yogesh Rathi

Ich habe viele Male umgebaut. Anstatt das Problem zu lösen, gab es mehr NullPointerException: null.
Sweetzyl Pili

Haben Sie Multidex-Support-Bibliothek integriert
Yogesh Rathi

Ja, ich habe es so gemacht. defaultConfig {... multiDexEnabled true} buildTypes {release {minifyEnabled true proguardFiles getDefaultProguardFile ('proguard-android.txt'), 'proguard-rules.pro'}} Ist das richtig? Außerdem überprüfe ich bereits die 9.0-Version von Play Service und Firebase hat immer noch den gleichen Fehler.
Sweetzyl Pili

0

Überprüfen Sie Ihre app/build.gradle. Mein Problem war 'eine Abhängigkeit.


0

Ich bekam aufgrund der JDK-Version eine NPE. Ein Downgrade von 11 auf 8 löste dieses Problem

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)

0

Bei mir hat es funktioniert, den Gradle-Cache auf Benutzerverzeichnisebene zu löschen : /Users/<username>/.gradle/cache. Die --infoOption zeigte dort eine Inkonsistenz.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.