2017-08-11 150 views
10

当迁移到Android Studio 3.0-beta1时,我遇到了未提供更多信息的Gradle同步失败错误。在Gradle控制台中没有错误消息。我不得不去idea.log文件,以获取以下堆栈跟踪:Android Studio 3.0 Gradle同步失败:java.lang.AssertionError(在UnresolvedDependenciesReporter中)

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创建了新项目,因此倾向于我的项目。

回答

9

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

数据/的build.gradle

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

应用/的build.gradle

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

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

应用/的build.gradle

apply plugin: 'com.android.application' 
android { 
    ... 

    buildTypeMatching 'dev', 'debug' 
    buildTypeMatching 'qa', 'debug' 
    buildTypeMatching 'rc', 'release' 

    buildTypes { 
     debug { ... } 
     dev { ... } 
     qa { ... } 
     rc { ... } 
     release { ... } 
    } 
} 

你也可以缺少的变量添加到库中的模块,以及:我用我的应用程序模块中使用buildTypeMatching解决了这个。

我碰到这个bug report这似乎是我的同样的问题。看起来错误消息中有一个错误,希望能够得到解决。

0

尝试做

  • 建设 - >清洁工程
0

遇到类似的问题,但对我来说,那是因为我忘了初始化这就造成了一个机器人模块我的git的子模块不是在那里抛出相同的错误...

0

这个错误也发生在我身上。原来,这与kyhule的原因相同,不同模块gradle中的buildType必须完全匹配。

只是想添加一个观点,通过使用命令行./gradlew build从终端构建gradle,可以更容易地找出错误发生的位置。它将提供更多有用的信息,您可以按照解决您的问题。

8

只需关闭离线模式。这对我很有用。

+0

谢谢你!在航班上忘记了,这让我疯狂 – FrankMonza

0

当我收到类似的错误时,事实证明我需要使用更新版本的Android Studio。当我使用Android Studio 3 Canary 2时出现此错误,但后来我使用了最新的测试版,这解决了我的问题。

3

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

+0

重新启动始终工作:D – Krrishnaaaa