Search code examples
androidandroid-studio-2.3

Clicking Run and debug buttons raise NullPointerException inside Android Studio


I can't run any of my projects as clicking on the run or debug buttons (or pressing their respective shortcut keys) will raise the following NPE and ask me to report it to google.

This error happens inside Android Studio, not on my code; an example code is not needed to reproduce, as it can happen with any project.

java.lang.NullPointerException
at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.findFileByIoFile(LocalFileSystemBase.java:79)
at com.intellij.openapi.vfs.VfsUtil.findFileByIoFile(VfsUtil.java:232)
at com.android.tools.idea.model.ManifestInfo$ManifestFile.getLibManifests(ManifestInfo.java:406)
at com.android.tools.idea.model.ManifestInfo$ManifestFile.refresh(ManifestInfo.java:339)
at com.android.tools.idea.model.MergedManifest.syncWithReadPermission(MergedManifest.java:377)
at com.android.tools.idea.model.MergedManifest$2.run(MergedManifest.java:356)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:843)
at com.android.tools.idea.model.MergedManifest.sync(MergedManifest.java:353)
at com.android.tools.idea.model.MergedManifest.getActivities(MergedManifest.java:510)
at com.android.tools.idea.run.activity.DefaultActivityLocator.lambda$computeDefaultActivity$0(DefaultActivityLocator.java:79)
at com.intellij.openapi.project.DumbService$1.run(DumbService.java:89)
at com.intellij.openapi.project.DumbService$2.compute(DumbService.java:125)
at com.intellij.openapi.project.DumbService$2.compute(DumbService.java:119)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:859)
at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:119)
at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:86)
at com.android.tools.idea.run.activity.DefaultActivityLocator.computeDefaultActivity(DefaultActivityLocator.java:78)
at com.android.tools.idea.run.activity.DefaultActivityLocator.validate(DefaultActivityLocator.java:65)
at com.android.tools.idea.run.editor.DefaultActivityLaunch$State.checkConfiguration(DefaultActivityLaunch.java:49)
at com.android.tools.idea.run.AndroidRunConfiguration.checkConfiguration(AndroidRunConfiguration.java:108)
at com.android.tools.idea.run.AndroidRunConfigurationBase.validate(AndroidRunConfigurationBase.java:175)
at com.android.tools.idea.run.AndroidRunConfigurationBase.checkConfiguration(AndroidRunConfigurationBase.java:113)
at com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl.checkSettings(RunnerAndConfigurationSettingsImpl.java:423)
at com.intellij.execution.impl.RunManagerImpl.canRunConfiguration(RunManagerImpl.java:535)
at com.intellij.execution.impl.RunManagerImpl.canRunConfiguration(RunManagerImpl.java:530)
at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:71)
at com.intellij.execution.impl.ExecutionManagerImpl.start(ExecutionManagerImpl.java:117)
at com.intellij.execution.impl.ExecutionManagerImpl.access$300(ExecutionManagerImpl.java:67)
at com.intellij.execution.impl.ExecutionManagerImpl$3.run(ExecutionManagerImpl.java:509)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:222)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:378)
at com.intellij.openapi.application.TransactionGuardImpl$6.run(TransactionGuardImpl.java:291)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:326)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:310)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:795)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:631)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:387)
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)

Solution

  • I just noticed that Java wasn't running on my machine. That was the root of the problem.

    I have a Macbook pro and when I run Android Studio, Java's icon will get added to the docker. I don't know why it didn't start automatically this time, very strange. Therefore, I had to press on sync project (although the project was already synced) just to force Java to run! Then, the usual icon was added to docker and everything was working properly!