sweetzyl pili
sweetzyl pili

Reputation: 1053

java.lang.NullPointerException (no error message)

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?

Upvotes: 100

Views: 149324

Answers (20)

Emanuele Bellini
Emanuele Bellini

Reputation: 138

My issue was actually about the NDK. I solved by uninstalling it, as described here.

Upvotes: 0

Hasnain Elahi
Hasnain Elahi

Reputation: 470

This worked for me:

In case the first solution doesn't work for you, double-check that you've added the keystore.properties or key.properties file, as it's needed for the signing process.

Upvotes: 0

aqibGenk
aqibGenk

Reputation: 161

for me only because I forgot keystore.jks

Upvotes: 1

Ecclesiaste Panda
Ecclesiaste Panda

Reputation: 427

I'm in Android Studio Electric Eel | 2022.1.1

In my case the Problem occurred when the IDE was not responding and I force quit then restarted the IDE, then maybe (gradle file corrupted. and that corrupted file cached)

I've solved the issue simply by Invalidating cache and restart.

Note:

Click File-> Invalidate Caches...

You may need to check all the cases on the popup window.

Upvotes: 1

Ali Zahid
Ali Zahid

Reputation: 170

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

Upvotes: 2

gcb
gcb

Reputation: 14554

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)

Upvotes: 3

tanni tanna
tanni tanna

Reputation: 724

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

Upvotes: 1

inspiredMichael
inspiredMichael

Reputation: 388

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.

Upvotes: 1

user3763113
user3763113

Reputation:

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

Upvotes: 1

Sandro
Sandro

Reputation: 1845

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

Upvotes: 1

zhen She
zhen She

Reputation: 139

I have same problem when the java version is 1.9

jenv use java 1.8 

all problem is solved.

Upvotes: 5

AntPachon
AntPachon

Reputation: 1192

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)

Upvotes: 1

rastik
rastik

Reputation: 2576

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

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

Upvotes: 213

chornge
chornge

Reputation: 2111

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!

Upvotes: 2

Pablo C. Garc&#237;a
Pablo C. Garc&#237;a

Reputation: 22404

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

Upvotes: 1

Geraldo Neto
Geraldo Neto

Reputation: 4040

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!

Upvotes: 6

Kona Suresh
Kona Suresh

Reputation: 1854

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.

Upvotes: 30

Yogesh Rathi
Yogesh Rathi

Reputation: 6509

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'

Upvotes: 1

sketch204
sketch204

Reputation: 11

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

Upvotes: 1

Marcin Orlowski
Marcin Orlowski

Reputation: 75645

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

Upvotes: 1

Related Questions