Android Studio 3.2.1 - Невозможно синхронизировать проект с файлами Gradle: аргумент для параметра @NotNull 'message' of... не должен быть нулевым

У меня проблема с использованием AndroidStudio. Я недавно установил его на свою машину Kubuntu 18.04 и хотел создать свой первый проект. Everyhting работал нормально, и проект открылся. Единственная проблема: я не могу запустить свои приложения. Я даже не могу взглянуть на действия в режиме конструктора - он всегда ждет завершения сборки. Когда я хочу запустить приложения, у него нет никаких модулей.

После поиска в Интернете некоторое время я пытался синхронизировать свой проект с файлами 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.

Ответы

Ответ 1

Хорошо, я наконец-то смог выяснить причину.

Проблема заключалась в том, что папка моего проекта находилась в другом разделе жесткого диска, чем моя домашняя папка. Папка, содержащая мои проекты Android, была связана с моей домашней папкой с символической ссылкой.

Я не могу сказать, является ли это символической ссылкой или другим разделом, который вызывает проблему. Я не проверял это. Может быть, это работает, если у вас есть тот же раздел, но связанный символической ссылкой. Может быть, это работает, когда используется на другом разделе без символических ссылок. Но для тех, кто испытывает эту проблему → Проверьте, может ли одна из них быть вашей причиной.

Некоторая дополнительная информация: Моя папка проекта Android находилась в разделе жесткого диска, отформатированном в ZFS.

Ответ 2

Я видел версию этого с только что на Android Studio 3.4: единственное сообщение об ошибке, которое я видел в IDE, было то, что Gradle Sync не удалось, но в idea.log было idea.log NullPointerException и его обратная связь возникла на com.intellij.openapi.extensions.Extensions.disposeArea и был такой же, как в вопросе.

Исправление, которое работало для меня:

  1. rm.idea/modules.xml

  2. Затем попробуйте синхронизировать Gradle снова.

Это также привело к автоматической регенерации этого файла. В новой версии были те же записи, что и в старой, плюс несколько дополнительных для различных библиотечных зависимостей. Не уверен, что эти записи были причиной проблемы или несчастного случая.

До этого я пробовал "Invalidate Caches/Restart...", и в моем случае это не сработало. Также дважды проверил, и в моем проекте нет ни символических ссылок, ни путей к Android Studio или Android SDK.

Ответ 3

Возникла аналогичная проблема после переименования папки проекта и добавления переименованной папки в качестве нового проекта.

  • решил эту проблему с помощью печально известной опции "Invalidate Caches/Restart"

(прежде чем я удалил старую ссылку на проект, которой было недостаточно)

Ответ 5

Столкнулся с такой же проблемой, потратил день на переустановку всего и разобрался только сейчас. Это происходит, если вы создаете символическую ссылку на свой проект и указываете путь через эту символическую ссылку. Просто укажите путь к проекту, пройдя долгий путь, и все будет работать отлично.

Ответ 6

У меня такая же проблема. Я перемещаю папку ~/Android/Sdk в другой раздел и помещаю символическую ссылку !!!

Решение для меня: удалите папки .android,.AndroidStudio3.2,.gradle. Запустите studio.sh снова и позвольте ей инициализировать вещи, как в первый раз. Затем перейдите в File-> Settings-> System Settings-> Android SDK и задайте новое местоположение папки Android SDK в качестве абсолютного пути (не символических ссылок).

После этого это работало как шарм.

Ответ 7

Я решил проблему, переименовав папку проекта, а затем снова откройте Android Studio, Android Studio скажет вам, что он не может найти проект, а затем удалите проект из текущего открытого списка Android Studio. переименуйте папку проекта обратно и снова откройте ее в Android Studio.

Ответ 8

Я получил ту же проблему в Android Studio 3.4. Мне удалось это исправить, восстановив мой ранее удаленный файл app-name.iml.

Ответ 9

У меня также была та же проблема, и я просто решил ее, закрыв android studio, удалив файлы .idea и .gradle, расположенные в папке проекта, а затем снова открыв android studio.