2017-08-11 73 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