NullPointerException (没有错误消息)

我知道我的这个问题已经被问过很多次了,而且我的确遵循了大多数的答案,但是没有一个对我有帮助。所以这就是我的问题,每当我同步我的项目,它总是失败。下面是评级控制台的外观:

执行任务: [ : app: generateDebugSource, 应用程序: generateDebugAndroidTestSource, : app: pareDebugUnitTestDependency ]

按需配置是一个酝酿中的特性 编译是一个孵化特性 : app: preDebugBuild Up-TO-DATE: app: checkDebugManifest : app: preReleaseBuild Up-TO-DATE : app: prepareComAndroidSupportAnimatedVectorDrawable2420Library 最新版本: app: prepareComAndroidSupportAppcompatV72420Library 最新版本: 应用程序: prepareComAndroidSupportDesign2420Library 最新版本 应用程序: prepareComAndroidSupportMediouterV72300Library Up-TO-DATE 应用程序: prepareComAndroid 支持回收视图 V72420Library 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 应用程序: prepareComAndroidSupportSupportVectorDrawable2420Library 最新版本: app: prepareComGoogleAndroidGmsPlayServices940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesAds940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesAdsLite940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesAnalytics940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesAnalyticsImp940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesAppindexing940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesAppinvite940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesAuth940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesAuthBase940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesBase940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesBasement940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesCast940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesCastFramework940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesClearcut940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesContextmanager 940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesDrive940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesFitness940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesGames940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesGass940Library 最新版本: app: prepareComGoogleAndroidGmsPlayServicesGcm940Library 最新的 应用程序: prepareComGoogleAndroidGmsPlayServicesIdentity940Library 失败: 生成异常失败。

  • 错误: java.lang. NullPointerException (no error message)

  • 尝试: 使用—— stacktrace 选项运行以获取堆栈跟踪。使用—— info 或—— debug 选项运行以获得更多的日志输出。

建造失败

总时间: 7.518秒

这些是我的依赖

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'

如何解决这个问题?

108452 次浏览
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

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

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'

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

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

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.

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!

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

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!

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)

I have same problem when the java version is 1.9

jenv use java 1.8

all problem is solved.

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

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

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.

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

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)

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