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
и был такой же, как в вопросе.
Исправление, которое работало для меня:
-
rm.idea/modules.xml
-
Затем попробуйте синхронизировать Gradle снова.
Это также привело к автоматической регенерации этого файла. В новой версии были те же записи, что и в старой, плюс несколько дополнительных для различных библиотечных зависимостей. Не уверен, что эти записи были причиной проблемы или несчастного случая.
До этого я пробовал "Invalidate Caches/Restart...", и в моем случае это не сработало. Также дважды проверил, и в моем проекте нет ни символических ссылок, ни путей к Android Studio или Android SDK.
Ответ 3
Возникла аналогичная проблема после переименования папки проекта и добавления переименованной папки в качестве нового проекта.
- решил эту проблему с помощью печально известной опции "Invalidate Caches/Restart"
(прежде чем я удалил старую ссылку на проект, которой было недостаточно)
Ответ 4
проверьте это: Аргумент для параметра @NotNull 'module' com/intellij/openapi/roots/ModuleRootManager.getInstance не должен быть нулевым
Кстати, я обычно удаляю .idea
и .gradle
внутри папки моего проекта после обновления Android Studio, практически работает для всех новых ошибок после обновления.
Ответ 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.