【问题标题】:Android Studio 3.0 Gradle sync failed: java.lang.AssertionError (in UnresolvedDependenciesReporter)Android Studio 3.0 Gradle 同步失败:java.lang.AssertionError(在 UnresolvedDependenciesReporter 中)
【发布时间】:2017-08-11 16:57:47
【问题描述】:

在迁移到 Android Studio 3.0-beta1 时,我遇到了 gradle sync failed 错误,该错误未提供太多信息。 gradle 控制台中没有错误消息。我必须去 idea.log 文件来获取以下堆栈跟踪:

java.lang.RuntimeException: java.lang.AssertionError
    at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:174)
    at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:155)
    at com.android.tools.idea.gradle.project.sync.idea.data.service.ModuleModelDataService.importData(ModuleModelDataService.java:80)
    at com.android.tools.idea.gradle.project.sync.idea.data.service.ModuleModelDataService.importData(ModuleModelDataService.java:50)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager.doImportData(ProjectDataManager.java:246)
    at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager.importData(ProjectDataManager.java:143)
    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.AssertionError
    at com.android.tools.idea.gradle.project.sync.issues.UnresolvedDependenciesReporter.report(UnresolvedDependenciesReporter.java:79)
    at com.android.tools.idea.gradle.project.sync.issues.SyncIssuesReporter.report(SyncIssuesReporter.java:86)
    at com.android.tools.idea.gradle.project.sync.issues.SyncIssuesReporter.report(SyncIssuesReporter.java:71)
    at com.android.tools.idea.gradle.project.sync.setup.module.android.DependenciesAndroidModuleSetupStep.doSetUpModule(DependenciesAndroidModuleSetupStep.java:98)
    at com.android.tools.idea.gradle.project.sync.setup.module.android.DependenciesAndroidModuleSetupStep.doSetUpModule(DependenciesAndroidModuleSetupStep.java:64)
    at com.android.tools.idea.gradle.project.sync.setup.module.ModuleSetupStep.setUpModule(ModuleSetupStep.java:34)
    at com.android.tools.idea.gradle.project.sync.setup.module.AndroidModuleSetup.setUpModule(AndroidModuleSetup.java:44)
    at com.android.tools.idea.gradle.project.sync.idea.data.service.AndroidModuleModelDataService.setUpModule(AndroidModuleModelDataService.java:93)
    at com.android.tools.idea.gradle.project.sync.idea.data.service.AndroidModuleModelDataService.importData(AndroidModuleModelDataService.java:79)
    at com.android.tools.idea.gradle.project.sync.idea.data.service.ModuleModelDataService$1.run(ModuleModelDataService.java:78)
    at com.intellij.openapi.command.WriteCommandAction$Simple.run(WriteCommandAction.java:234)
    at com.intellij.openapi.application.RunResult.run(RunResult.java:35)
    at com.intellij.openapi.command.WriteCommandAction.lambda$null$1(WriteCommandAction.java:171)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023)
    at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:170)
    at com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$4(WriteCommandAction.java:210)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:119)
    at com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:212)
    at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:168)
    at com.intellij.openapi.command.WriteCommandAction.lambda$execute$0(WriteCommandAction.java:155)
    at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransactionAndWait$2(TransactionGuardImpl.java:163)
    at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)
    at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:109)
    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)

我关注了migration documentation,但仍然无法让同步成功运行。不确定这是否是 Android Studio 3.0-beta1 或我的项目配置中的问题。我已经运行了其他项目并使用 Android Studio 3.0-alphaX 创建了新项目,因此倾向于我的项目。

【问题讨论】:

    标签: android android-studio android-gradle-plugin


    【解决方案1】:

    尝试归档 -> 使缓存无效/重新启动

    【讨论】:

      【解决方案2】:

      问题是我没有为缺少的构建类型选择默认值。我的项目有 2 个具有以下构建类型配置的模块:

      数据/build.gradle

      apply plugin: 'com.android.library'
      android {
          ...
          buildTypes {
              debug { ... }
              release { ... }
          }
      }
      

      app/build.gradle

      apply plugin: 'com.android.application'
      android {
          ...
          buildTypes {
              debug { ... }
              dev { ... }
              qa { ... }
              rc { ... }
              release { ... }
          }
      }
      

      使用最新的 Android gradle 插件,您的构建类型必须从库到应用程序模块匹配。我的问题是我的数据模块没有定义 devqarc 构建类型。我通过在我的应用程序模块中使用 buildTypeMatching 解决了这个问题:

      app/build.gradle

      apply plugin: 'com.android.application'
      android {
          ...
      
          buildTypeMatching 'dev', 'debug'
          buildTypeMatching 'qa', 'debug'
          buildTypeMatching 'rc', 'release'
      
          buildTypes {
              debug { ... }
              dev { ... }
              qa { ... }
              rc { ... }
              release { ... }
          }
      }
      

      您也可以将缺少的变体添加到库模块中。

      我遇到了这个bug report,这似乎是我同样的问题。错误消息中似乎有一个错误,希望能得到修复。

      【讨论】:

        【解决方案3】:

        只需关闭离线模式即可。它对我有用。

        【讨论】:

        • 谢谢你!在飞机上忘记了,这让我发疯了
        【解决方案4】:

        在我的情况下,重新启动 Android Studio 解决了我的问题

        【讨论】:

          【解决方案5】:

          试着去做

          • 构建 -> 清理项目

          【讨论】:

            【解决方案6】:

            遇到了类似的问题,但对我来说,这是因为我忘记初始化我的 git 子模块,导致一个 android 模块没有在那里抛出相同的错误......

            【讨论】:

              【解决方案7】:

              这个错误也发生在我身上。原来是和kyhule一样的道理,不同module gradle中的buildTypes必须完全匹配。

              只是想补充一点,通过使用命令行./gradlew build 从终端构建 gradle 会更容易找出错误所在。它将提供更多有用的信息,您可以按照这些信息来解决您的问题。

              【讨论】:

                【解决方案8】:

                当我遇到类似错误时,我发现我需要使用更新版本的 Android Studio。我在使用 Android Studio 3 Canary 2 时遇到了这个错误,但后来我使用了最新的测试版,这解决了我的问题。

                【讨论】:

                  【解决方案9】:

                  对我来说,事件日志显示:

                  2:18 PM Project setup started
                  
                  2:18 PM Gradle sync failed: EventQueue.isDispatchThread()=false Toolkit.getEventQueue()=com.intellij.ide.IdeEventQueue@40306e17
                                  Current thread: Thread[ApplicationImpl pooled thread 3,4,Idea Thread Group] 1439896692
                                  SystemEventQueueThread: Thread[AWT-EventQueue-0,6,Idea Thread Group] 519777864 (2 s 913 ms)
                  
                  2:18 PM Syncing only active variant
                                  You can disable this experimental feature from
                                  File → Settings → Experimental → Gradle → Only sync the active variant
                  

                  我尝试了所有方法,但果然,我只需要按照它说的做,然后取消选中“仅同步活动变体”复选框。不知道它是如何被检查的。

                  【讨论】:

                    【解决方案10】:

                    我按照给定的步骤解决了这个问题:-

                    1. 转到 SDK 管理器(Ctrl+Shift+A,然后键入 SDK 管理器)。
                    2. 转到 SDK 工具
                    3. 取消选择或卸载除 Android Support Repository 和 Android SDK Platform-Tools 之外的所有 SDK 工具
                    4. 再次尝试同步项目。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2017-12-11
                      • 1970-01-01
                      • 2016-05-18
                      • 2023-04-09
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-11-07
                      • 2019-06-07
                      相关资源
                      最近更新 更多