java.lang.NullPointerException (no error message)

AndroidGradlebuild.gradle

Android Problem Overview


I know that this question of mine has been asked many times and I did follow most of the answers but none of those helped me. So this is my problem, whenever I sync my project it always fails. Here is how the gradle console look like:

> Executing tasks: [:app:generateDebugSources, > :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, > :app:prepareDebugUnitTestDependencies] > > Configuration on demand is an incubating feature. Incremental java > compilation is an incubating feature. :app:preBuild 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: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 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 > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesAdsLite940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesAnalytics940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesAppindexing940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesAppinvite940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesAuth940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesAuthBase940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesBase940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesBasement940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesCast940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesCastFramework940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesClearcut940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesContextmanager940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesDrive940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesFitness940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesGames940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesGass940Library > UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesGcm940Library > UP-TO-DATE > :app:prepareComGoogleAndroidGmsPlayServicesIdentity940Library FAILURE: > Build failed with an exception. > > * What went wrong: java.lang.NullPointerException (no error message) > > * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. > > > BUILD FAILED > > Total time: 7.518 secs

AND these are my dependencies

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'

How to resolve the issue?

Android Solutions


Solution 1 - Android

I've deleted .gradle folder from the project and was able to rebuild it again.

N.B: Make a backup, just in case.

Solution 2 - Android

This Problem created when the suddenly System restarted, then gradle file corrupted. and that corrupted file cached, so we need to Delete this file from your project

your_project_path/.gradle/2.14.1/taskArtifacts

It will be re-generate again.

Then restart the Android studio and re-compile the project.

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

It is worked for me.

Solution 3 - Android

If you are still having this problem, even after deleting .gradle folder under your project's path, as suggested above, kill all Java processes running on the task manager and try to update your Android Studio.

I was in the same situation but now it works fine.

Hope it helps!

Solution 4 - Android

I have same problem when the java version is 1.9

jenv use java 1.8 

all problem is solved.

Solution 5 - Android

The issue is likely the gradle.properties file. If you type ./gradlew tasks in the terminal, you see the error you mentioned but ./gradlew tasks --info shows more details about the error. For me, in all my projects, it was the same error message:

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]

Solution: (no need to edit .bash_profile or downgrade gradle or delete gradle.folder).

  • Add org.gradle.java.home=path in gradle.properties. where path is the Android Studio java path (actual java home stated in the --info log). For me, it's /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home, for you, the path could be different.

This is what my gradle.properties file looks like after the change:

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

Notes: The space between "Android Studio" in the path is intentional, it doesn't work if an underscore is used. Escape characters \ are allowed but not needed: ...Android\ Studio.app/Contents/jre....

I have also enabled the daemon build runner but not needed for gradlew to run its tasks. If your null pointer error is different, use --info to point you in the right direction.

I'm running:

Android Studio 3.1.4 (on a Mac 10.13)
java version "10"
classpath 'com.android.tools.build:gradle:3.1.4' (dependency)

Hope it helps someone!

Solution 6 - Android

The accepted solution is kinda risk and might not be the solution to most people.

The correct answer is that unfortunately there is not a single answer.

You must look the logs for your case ( Help > Show Logs, or Show Logs in Explorer and then open the idea.log file in your text editor)

There you will see the entire stack trace with the actual error where it happened.

From there, it would make sense to clear idea cache as the currently accepted solution mentions, or do something else (in my case it was a mismatched gradle/cmake/ndk versions and not deleting my .gradle cache folder would have helped)

Solution 7 - Android

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'

Not sure this is the culprit, but you got pretty mess with used versions here. Try to use recent versions or at least the same for all components related.

This tool may help you stay in sync in future: https://github.com/ben-manes/gradle-versions-plugin

Solution 8 - Android

I had a similar problem when importing firebase into my project. First of all make sure that you followed the tutorial steps correctly and have imported the provided .json file into the right directory.

Also, since firebase v9.0 it has been implemented into the google play services, so for firebase to work properly, make sure that the Google play services are up to date on the device that you're testing,

I've also found this answer to be helpful while solving my issue https://stackoverflow.com/a/37310513/6728099

Solution 9 - Android

Remove below lines from dependency's, because already you compile complete play services dependency

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

Solution 10 - Android

Check your app/build.gradle. My problem was a ' in a dependency.

Solution 11 - Android

I was getting a NPE due to the jdk version, downgrading from 11 to 8 solved this issue

To remove 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)

Solution 12 - Android

For me it worked to delete the Gradle cache on user directory level: /Users/<username>/.gradle/cache. The --info option showed an inconsistency there.

Solution 13 - Android

For me, the issue was the open source project was using older version of gradle 3.4.0.

Edit build.gradle and change com.android.tools.build:gradle:x.x.x to the latest version in the dependency. In my case, com.android.tools.build:gradle:4.1.2

Open the project in Android Studio again, you will now see another error message about minimum Gradle version like in the screenshot below

A screenshot of the gradle version error

Click on the blue text Fix Gradle wrapper and re-import project. You should be good to go

Solution 14 - Android

Also check your dependencies in the build.gradle file

In my own case, I removed the Glide library (implementation "com.github.bumptech.glide:glide:4.9.0") without deleting the corresponding annotation library (annotationProcessor "com.github.bumptech.glide:compiler:4.11.0")

After removing these two libraries, the build error was fixed.

Solution 15 - Android

check local.properties file. See if the *.dir value is pointing to correct folder.

In my case ndk.dir was poiting to some other folder. When I fixed that the issue was gone.

ndk.dir=E\:\\Android\\local\\Android\\Sdk\\ndk-bundle
sdk.dir=E\:\\Android\\local\\Android\\Sdk

Solution 16 - Android

I also had the same error. I solved it by: Invalidating Caches and Restart Android Studio

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionsweetzyl piliView Question on Stackoverflow
Solution 1 - AndroidrastikView Answer on Stackoverflow
Solution 2 - AndroidKona SureshView Answer on Stackoverflow
Solution 3 - AndroidGeraldo NetoView Answer on Stackoverflow
Solution 4 - Androidzhen SheView Answer on Stackoverflow
Solution 5 - AndroidchorngeView Answer on Stackoverflow
Solution 6 - AndroidgcbView Answer on Stackoverflow
Solution 7 - AndroidMarcin OrlowskiView Answer on Stackoverflow
Solution 8 - Androidsketch204View Answer on Stackoverflow
Solution 9 - AndroidYogesh RathiView Answer on Stackoverflow
Solution 10 - AndroidPablo CegarraView Answer on Stackoverflow
Solution 11 - AndroidAntPachonView Answer on Stackoverflow
Solution 12 - AndroidSandroView Answer on Stackoverflow
Solution 13 - Androiduser3763113View Answer on Stackoverflow
Solution 14 - AndroidinspiredMichaelView Answer on Stackoverflow
Solution 15 - Androidtanni tannaView Answer on Stackoverflow
Solution 16 - AndroidAli ZahidView Answer on Stackoverflow