Gradle Build Error - NullPointerException thrown during app:compileDebugJava gradle task

10,674

I think that Support library repository outdated. Downloading update... has nothing to do with the NullPointerException that is causing you trouble. This message comes from sdk-manager-plugin and is probably related to the following sdk-manager-plugin's issue: https://github.com/JakeWharton/sdk-manager-plugin/issues/31. As for the mentioned NPE it is thrown by dagger library. Have you recently made any changes to the code that are related to dagger?

Share:
10,674
Andre Perkins
Author by

Andre Perkins

Just an Android Developer that loves to read coding literature.

Updated on June 06, 2022

Comments

  • Andre Perkins
    Andre Perkins about 2 years

    I keep receiving this error message everytime I try to make a gradle build. I recently made a build before this and the application was created without any issue. I didn't make any changes to my build.gradle file. What is causing this?

    :app:preBuild
     ......
    :app:processDebugResources
    :app:generateDebugSources
    :app:compileDebugJava FAILED
    Error:Execution failed for task ':app:compileDebugJava'.
    > java.lang.NullPointerException
    

    I am using Android Studio version 0.8.1

    Here is the gradle stacktrace:

    * Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJava'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:289)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:46)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.Main.main(Main.java:37)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
    Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at com.sun.tools.javac.main.Main.compile(Main.java:469)
        at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)
        at org.gradle.api.internal.tasks.compile.jdk6.Jdk6JavaCompiler.execute(Jdk6JavaCompiler.java:45)
        at org.gradle.api.internal.tasks.compile.jdk6.Jdk6JavaCompiler.execute(Jdk6JavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:96)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:49)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:35)
        at org.gradle.api.internal.tasks.compile.DelegatingJavaCompiler.execute(DelegatingJavaCompiler.java:29)
        at org.gradle.api.internal.tasks.compile.DelegatingJavaCompiler.execute(DelegatingJavaCompiler.java:20)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:33)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:24)
        at org.gradle.api.tasks.compile.Compile.performCompilation(Compile.java:165)
        at org.gradle.api.tasks.compile.Compile.compile(Compile.java:153)
        at org.gradle.api.tasks.compile.Compile.compile(Compile.java:87)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:236)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:223)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 46 more
    Caused by: java.lang.NullPointerException
        at dagger.internal.codegen.Util.getAnnotation(Util.java:192)
        at dagger.internal.codegen.GraphAnalysisProcessor.process(GraphAnalysisProcessor.java:107)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$200(JavacProcessingEnvironment.java:97)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.runContributingProcs(JavacProcessingEnvironment.java:644)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1027)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1185)
        at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)
        at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
        at com.sun.tools.javac.main.Main.compile(Main.java:439)
        ... 68 more
    

    Here is my build.gradle (its a little messy):

    buildscript {
        repositories {
            mavenCentral()
            maven { url 'http://download.crashlytics.com/maven' }
        }
    
        dependencies {
            classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.9.+'
            classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
        }
    }
    apply plugin: 'android-sdk-manager'
    apply plugin: 'android'
    apply plugin: 'crashlytics'
    
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }
    
    android {
        signingConfigs {
            release {
                storeFile file("")
                storePassword ''
                keyAlias ''
                keyPassword ''
            }
            debug {
                storeFile file('/home/andreperkins/.android/debug.keystore')
            }
        }
        //noinspection GroovyAssignabilityCheck
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        //noinspection GroovyAssignabilityCheck
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
        defaultConfig {
            applicationId 'com.liveauctioneers.and'
            //noinspection GroovyAssignabilityCheck
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            //noinspection GroovyAssignabilityCheck
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
            versionCode 7
            versionName '3.0'
            testInstrumentationRunner 'com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner'
        }
        buildTypes {
            release {
                runProguard false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                //noinspection GroovyAssignabilityCheck
                signingConfig signingConfigs.release
            }
            debug {
                applicationIdSuffix '.debug'
                versionNameSuffix '-DEBUG'
                zipAlign false
            }
            qa {
                debuggable false
                jniDebugBuild false
                renderscriptDebugBuild false
                runProguard false
                applicationIdSuffix '.qa'
                versionNameSuffix '-QA'
                zipAlign true
                //noinspection GroovyAssignabilityCheck
                signingConfig signingConfigs.release
            }
        }
        productFlavors {
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
        packagingOptions {
            exclude 'LICENSE.txt'
            exclude 'META-INF/services/javax.annotation.processing.Processor'
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile project(':facebook')
        provided 'com.squareup.dagger:dagger-compiler:1.2.1'
        //mockito dependencies
        androidTestCompile files('libs/dexmaker-mockito-1.0.jar')
        androidTestCompile 'org.mockito:mockito-core:1.9.5'
        androidTestCompile files('libs/dexmaker-1.0.jar')
        //espresso dependencies
        /*androidTestCompile files('libs/espresso-1.1.jar')
        androidTestCompile files('libs/testrunner-1.1.jar')
        androidTestCompile files('libs/testrunner-runtime-1.1.jar')
        */ androidTestCompile 'com.google.guava:guava:16.0'
        /*androidTestCompile 'org.hamcrest:hamcrest-core:1.1'
        androidTestCompile 'org.hamcrest:hamcrest-integration:1.1'
        androidTestCompile 'org.hamcrest:hamcrest-library:1.1'*/
        androidTestCompile 'com.squareup.spoon:spoon-client:1.1.1'
    
        androidTestCompile('com.jakewharton.espresso:espresso:1.1-r3') {
            exclude group: 'com.squareup.dagger'
        }
        compile 'com.jakewharton:butterknife:4.0.+'
        compile 'com.squareup.dagger:dagger:1.2.1'
        compile 'com.squareup.okhttp:okhttp:1.3.+'
        compile 'com.squareup.retrofit:retrofit:1.5.1'
        compile 'com.google.code.gson:gson:2.2.+'
        compile 'com.crashlytics.android:crashlytics:1.+'
        compile 'com.squareup:otto:1.3.5'
        compile 'javax.annotation:javax.annotation-api:1.2'
        compile 'com.google.code.findbugs:jsr305:1.3.9'
        // You must install or update the Support Repository through the SDK manager to use this dependency.
        compile 'com.android.support:support-v13:19.0.1'
        compile 'com.j256.ormlite:ormlite-android:4.43'
        compile 'com.j256.ormlite:ormlite-core:4.43'
    } 
    
    • Andre Perkins
      Andre Perkins almost 10 years
      @AlonBurg I fixed it. I think it has something to do with dagger and when studio auto generates files for you that are related to building xml resources. I am leaving this question open for now as I don't know the cause. What i did to solve this was run "./gradlew build --debug" and saw something about my view injector for one of my fragments (as I am also using Butterknife for view injection) what I did was delete the xml file associated with that fragment and then I deleted all ref.xml in each of my values folders as I didn't need them. Try something like that and let me know how it goes.
  • Andre Perkins
    Andre Perkins almost 10 years
    I didn't make any changes to dagger that I can recall. I will try removing the android-sdk-manager and see what happens.
  • Damian Jeżewski
    Damian Jeżewski almost 10 years
    That will tell us something. In my opinion you'll still get the same exception but I might be wrong.
  • Andre Perkins
    Andre Perkins almost 10 years
    You are right about the sdk-manager plugin part. I removed the sdk-manager plugin and now that Support library error message is gone. I am still facing the NullPointerException however. I do not recall making any changes to Dagger. I will update the question to reflect this.
  • Andre Perkins
    Andre Perkins almost 10 years
    I am just throwing ideas around now but could my use of ormlite annotations be screwing with Dagger somehow?
  • Damian Jeżewski
    Damian Jeżewski almost 10 years
    For sure it's something related to annotations. I've seen similar issue with dagger and ActiveAndroid. so your clue might lead to an answer. Unfortunately dagger is not in my area of expertise.