4

In Android Studio, the sync failed:

Gradle project sync failed. Basic functionality (e.g. editing, debugging) will not work properly.

The command-line gradle installDebug worked. There were no messages in the "Messages" view. In the idea.log, the following NullPointerException appeared:

2018-02-04 14:53:15,233 [ thread 15]   WARN - ea.IdeaSyncPopulateProjectTask - Sync failed: null 
java.lang.RuntimeException: java.lang.NullPointerException
    at com.intellij.openapi.application.impl.LaterInvocator.invokeAndWait(LaterInvocator.java:188)
    at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:680)
    at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:685)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.executeOnEdt(ExternalSystemApiUtil.java:469)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.executeProjectChangeAction(ExternalSystemApiUtil.java:458)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager.dispose(ProjectDataManager.java:401)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager.importData(ProjectDataManager.java:156)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager.importData(ProjectDataManager.java:198)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager.importData(ProjectDataManager.java:204)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.doSelectiveImport(IdeaSyncPopulateProjectTask.java:206)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.populate(IdeaSyncPopulateProjectTask.java:156)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.access$000(IdeaSyncPopulateProjectTask.java:51)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask$1.run(IdeaSyncPopulateProjectTask.java:144)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:726)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:137)
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at com.intellij.openapi.extensions.Extensions.disposeArea(Extensions.java:168)
    at com.intellij.openapi.module.impl.ModuleImpl.dispose(ModuleImpl.java:153)
    at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:48)
    at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:44)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:151)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeUnregistered(ObjectTree.java:163)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:132)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:123)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:119)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.dispose(ModuleManagerImpl.java:836)
    at com.intellij.openapi.externalSystem.service.project.AbstractIdeModifiableModelsProvider.dispose(AbstractIdeModifiableModelsProvider.java:421)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager$3.execute(ProjectDataManager.java:404)
    at com.intellij.openapi.externalSystem.util.DisposeAwareProjectChange.run(DisposeAwareProjectChange.java:36)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.lambda$null$6(ExternalSystemApiUtil.java:458)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.lambda$executeProjectChangeAction$7(ExternalSystemApiUtil.java:458)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:303)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:165)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:410)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:655)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
2018-02-04 14:53:15,234 [ thread 15]   INFO - e.project.sync.GradleSyncState - Gradle sync failed (4s 121ms) 

Using Invalidate Caches/Restart and removing the .gradle folder did not help. Why is this? How is it fixed?

serv-inc
  • 35,772
  • 9
  • 166
  • 188
  • 1
    if you do this from the cmd prompt what happens and is installDebug one of the task? gradle tasks --all – Pomagranite Feb 04 '18 at 14:14
  • @Pomagranite: yes, it is one of the tasks, it compiles successfully and wants to install to an emulator (which was not attached then). gradle tasks contains "installDebug - Installs the Debug build." – serv-inc Feb 04 '18 at 14:39

3 Answers3

3

After unsetting a local gradle distribution in Settings > Build, Execution, Deployment > Gradle (which was set for debugging this problem), Android Studio offered to update to gradle:3.0.1 from gradle:3.0.0. This fixed it.

Previous steps taken:

  • add the google() repository to buildscript and allprojects
  • upgrade the compileSdkVersion, and targetSdkVersion to 27
  • upgrade all com.android.support libraries to 26.1.0
serv-inc
  • 35,772
  • 9
  • 166
  • 188
  • 1
    I figured it was not your code causing the problem as the stack trace does not have any indication of the null belonging to your package. Thanks for posting the answer – Pomagranite Feb 05 '18 at 01:55
1

I was getting similar errors after I upgraded my Android Studio to 3.1.3. I don't remember the exact version I was on before that -- version 2 series.

The reason I was getting these errors was because the Gradle plugin version I was using was too low.

buildscript {
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'
    ...
}

Once I updated the version from 2.2.3 to 2.3.3, then Android Studio was able to move on and give me more meaningful error messages such as

Gradle sync failed: Minimum supported Gradle version is 3.3. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in gradle/wrapper/gradle-wrapper.properties to gradle-3.3-all.zip

From there, it's just a matter of resolving version compatibility issues.

Ryan H.
  • 7,374
  • 4
  • 39
  • 46
1

For me, it was a simple solution: I had deleted a module from my project and forgot to delete it from settings.gradle

Maybe this can help somebody

DannyRitiu
  • 91
  • 6