Android Studio 3.0 Gradle同步失败:java.lang.AssertionError(在UnresolvedDependenciesReporter中) [英] Android Studio 3.0 Gradle sync failed: java.lang.AssertionError (in UnresolvedDependenciesReporter)

查看:171
本文介绍了Android Studio 3.0 Gradle同步失败:java.lang.AssertionError(在UnresolvedDependenciesReporter中)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当迁移到Android Studio 3.0-beta1时,我遇到了Gradle同步失败错误,该错误未提供太多信息. gradle控制台中没有错误消息.我必须转到idea.log文件以获取以下堆栈跟踪:

When migrating to Android Studio 3.0-beta1, I am running into a gradle sync failed error that does not provide much info. There is no error message in the gradle console. I had to go to the idea.log file to get the following stack trace:

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)

我遵循了迁移文档,但仍然无法使同步成功运行.不确定这是否是Android Studio 3.0-beta1或我的项目配置中的问题.我已经运行了其他项目,并使用Android Studio 3.0-alphaX创建了新项目,所以倾向于我的项目.

I followed the migration documentation but still can't get the sync to run successfully. Not sure if this is an issue in Android Studio 3.0-beta1 or my project configuration. I have run other projects and created new ones with Android Studio 3.0-alphaX so leaning towards my project.

推荐答案

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

The issue was I did not select defaults for missing build types. My project has 2 modules with the following build types configuration:

data/build.gradle

data/build.gradle

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

app/build.gradle

app/build.gradle

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

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

With the latest Android gradle plugin, your build types must match from library to application modules. My issue was my data module did not define dev,qa, and rc build types. I resolved this by using buildTypeMatching in my application module:

app/build.gradle

app/build.gradle

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

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

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

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

You could also add the missing variants to the library modules as well.

我遇到了这个错误报告,这似乎是我的同样问题.看起来错误消息中有一个错误,希望可以解决.

I came across this bug report which seemed to be my same issue. Looks like there is a bug in the error messaging which hopefully will get fixed.

这篇关于Android Studio 3.0 Gradle同步失败:java.lang.AssertionError(在UnresolvedDependenciesReporter中)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆