Android Studio 3.2.1-无法与Gradle文件同步项目:@NotNull参数'message'的参数不能为null

时间:2018-10-22 20:56:05

标签: linux android-studio gradle android-gradle android-studio-3.2

我在使用AndroidStudio时遇到问题。我刚在Kubuntu 18.04机器上安装了它,并想创建我的第一个项目。一切正常,项目开始了。唯一的问题:我无法运行我的应用程序。我什至无法在设计视图中查看活动-它永远等待构建完成。当我要运行应用程序时,它没有任何模块。

在网络上搜索了一段时间之后,我尝试将我的项目与gradle文件同步,因为这似乎可以解决类似的问题,但是一旦执行此操作,就会发生以下错误:

Argument for @NotNull parameter 'message' of com/android/tools/idea/gradle/project/sync/GradleSyncState.syncFailed must not be null
    java.lang.IllegalArgumentException: Argument for @NotNull parameter 'message' of com/android/tools/idea/gradle/project/sync/GradleSyncState.syncFailed must not be null
        at com.android.tools.idea.gradle.project.sync.GradleSyncState.$$$reportNull$$$0(GradleSyncState.java)
        at com.android.tools.idea.gradle.project.sync.GradleSyncState.syncFailed(GradleSyncState.java)
        at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.doPopulateProject(IdeaSyncPopulateProjectTask.java:135)
        at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.populate(IdeaSyncPopulateProjectTask.java:97)
        at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.access$000(IdeaSyncPopulateProjectTask.java:39)
        at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask$1.run(IdeaSyncPopulateProjectTask.java:86)
        at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:750)
        at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
        at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
        at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
        at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:395)
        at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
        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)

执行一次后,同步按钮被禁用,我无法再次执行。我必须重新启动IDE才能做到这一点。

我调查了idea.log文件以更好地跟踪问题,并在那里找到了以下内容:

2018-10-22 22:38:32,254 [d thread 3]   INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: -Didea.version=3.2 -Djava.awt.headless=true -Pandroid.injected.build.model.only=true -Pandroid.injected.build.model.only.advanced=true -Pandroid.injected.invoked.from.ide=true -Pandroid.injected.build.model.only.versioned=3 -Pandroid.injected.studio.version=3.2.1.0 -Pandroid.builder.sdkDownload=false --init-script /tmp/ijinit.gradle --offline 
2018-10-22 22:38:43,063 [d thread 3]   INFO - e.project.sync.GradleSyncState - Started setup of project 'TestApp'. 
2018-10-22 22:38:43,065 [e-1136-b06]   INFO - idea.project.IndexingSuspender - Consuming IndexingSuspender activation event: SETUP_STARTED 
2018-10-22 22:38:43,263 [e-1136-b06]   INFO - ule.android.SdkModuleSetupStep - Set Android SDK 'Android API 28 Platform (1)' (/home/myusername/Android/Sdk) to module 'app' 
2018-10-22 22:38:43,567 [d thread 3]   WARN - ea.IdeaSyncPopulateProjectTask - Sync failed: null 
java.lang.RuntimeException: java.lang.NullPointerException
    at com.intellij.openapi.application.impl.LaterInvocator.invokeAndWait(LaterInvocator.java:179)
    at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:651)
    at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:656)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.executeOnEdt(ExternalSystemApiUtil.java:480)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.executeProjectChangeAction(ExternalSystemApiUtil.java:469)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.dispose(ProjectDataManagerImpl.java:442)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:163)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:221)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:228)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.doPopulateProject(IdeaSyncPopulateProjectTask.java:120)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.populate(IdeaSyncPopulateProjectTask.java:97)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.access$000(IdeaSyncPopulateProjectTask.java:39)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask$1.run(IdeaSyncPopulateProjectTask.java:86)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:750)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
    at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:395)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
    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:171)
    at com.intellij.openapi.module.impl.ModuleImpl.dispose(ModuleImpl.java:146)
    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:169)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeUnregistered(ObjectTree.java:181)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:140)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:129)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:125)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.dispose(ModuleManagerImpl.java:895)
    at com.intellij.openapi.externalSystem.service.project.AbstractIdeModifiableModelsProvider.dispose(AbstractIdeModifiableModelsProvider.java:476)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl$3.execute(ProjectDataManagerImpl.java:445)
    at com.intellij.openapi.externalSystem.util.DisposeAwareProjectChange.run(DisposeAwareProjectChange.java:36)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1010)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.lambda$executeProjectChangeAction$6(ExternalSystemApiUtil.java:469)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:156)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
    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:822)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:763)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
    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-10-22 22:38:43,570 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - Argument for @NotNull parameter 'message' of com/android/tools/idea/gradle/project/sync/GradleSyncState.syncFailed must not be null 
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'message' of com/android/tools/idea/gradle/project/sync/GradleSyncState.syncFailed must not be null
    at com.android.tools.idea.gradle.project.sync.GradleSyncState.$$$reportNull$$$0(GradleSyncState.java)
    at com.android.tools.idea.gradle.project.sync.GradleSyncState.syncFailed(GradleSyncState.java)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.doPopulateProject(IdeaSyncPopulateProjectTask.java:135)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.populate(IdeaSyncPopulateProjectTask.java:97)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.access$000(IdeaSyncPopulateProjectTask.java:39)
    at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask$1.run(IdeaSyncPopulateProjectTask.java:86)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:750)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
    at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:395)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
    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)
2018-10-22 22:38:43,572 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - Android Studio 3.2.1  Build #AI-181.5540.7.32.5056338 
2018-10-22 22:38:43,572 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - JDK: 1.8.0_152-release 
2018-10-22 22:38:43,572 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - VM: OpenJDK 64-Bit Server VM 
2018-10-22 22:38:43,572 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - Vendor: JetBrains s.r.o 
2018-10-22 22:38:43,572 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - OS: Linux 
2018-10-22 22:38:43,572 [e-1136-b06]  ERROR - intellij.openapi.progress.Task - Last Action: Android.SyncProject

似乎该项目无法同步到我的gradle文件。运行我的应用程序的实际问题可能基于此。有没有人遇到过这个问题,或者可以通过告诉我如何解决这个问题来帮助我?

我是AndroidStudio和Gradle的新手。

9 个答案:

答案 0 :(得分:20)

好吧,我终于能够找出原因了。

问题是,我的项目文件夹与主文件夹位于不同的硬盘分区上。包含我的android项目的文件夹通过符号链接链接到我的主文件夹。

我无法确定是符号链接还是另一个分区引起了问题。我还没有检查。如果您在同一分区上但通过符号链接进行链接,则可能会起作用。当在没有符号链接的另一个分区上使用时,它可能会起作用。但是对于遇到此问题的任何人->检查是否也是您的原因之一。

一些其他信息:我的android项目文件夹位于以ZFS格式化的硬盘分区上。

答案 1 :(得分:4)

重命名项目文件夹并将重命名的文件夹添加为新项目后,出现了类似的问题。

  • 通过臭名昭著的“ Invalidate Caches / Restart”选项解决了此问题

(在我删除还不够的旧项目链接之前)

答案 2 :(得分:3)

我刚刚在Android Studio 3.4上看到了此版本:我在IDE中看到的唯一错误消息是Gradle同步失败,但是在idea.log中有一个NullPointerException及其回溯起源于com.intellij.openapi.extensions.Extensions.disposeArea,就像问题中的那个一样。

对我有用的修复程序:

  1. rm .idea/modules.xml

  2. 然后再次尝试Gradle同步。

这也导致该文件自动重新生成。新版本具有与旧版本完全相同的条目,另外还有一些用于各种库依赖项的附加条目。不确定是否缺少这些条目是问题的原因,还是无关的事故。

在此之前,我尝试了“使缓存无效/重新启动...”,但在我的情况下它不起作用。还要仔细检查,在我的项目路径或Android Studio或Android SDK的路径中没有符号链接。

答案 3 :(得分:2)

面对同样的问题,浪费了一天重新安装所有内容,而现在才想通了。如果创建到项目的符号链接并通过该符号链接指定路径,则会发生这种情况。只需花很长时间指定项目路径,一切就可以正常进行。

答案 4 :(得分:1)

检查此: Argument for @NotNull parameter 'module' of com/intellij/openapi/roots/ModuleRootManager.getInstance must not be null

顺便说一句,我通常在更新android studio后删除项目文件夹中的.idea.gradle文件夹,更新后几乎可以解决所有新错误。

答案 5 :(得分:1)

我有同样的问题。我将〜/ Android / Sdk文件夹移到另一个分区,并放置了符号链接!!!

对我来说解决方案: 删除.android,.AndroidStudio3.2,.gradle文件夹 再次启动studio.sh,并使其首次初始化。然后转到“文件”->“设置”->“系统设置”->“ Android SDK”,并将新位置作为绝对路径(不是符号链接)提供给Android SDK文件夹。

此后,它就像魅力一样。

答案 6 :(得分:0)

我通过重命名项目文件夹然后重新打开android studio来解决了该问题,android studio会告诉您找不到项目,然后从android studio当前打开的列表中删除该项目。重命名项目文件夹,然后再次由android studio打开。

答案 7 :(得分:0)

我在Android Studio 3.4中遇到了同样的问题。 我设法通过恢复以前删除的app-name.iml文件来解决此问题。

答案 8 :(得分:0)

我也遇到了同样的问题,只需关闭android studio,删除项目文件夹中的.idea和.gradle文件,然后重新打开android studio,即可解决该问题。