【发布时间】:2022-10-21 12:51:30
【问题描述】:
每次我在 Android Studio 中打开我的项目时,都会出现这个错误:
Error: Run configuration app is not supported in the current project. Cannot obtain the application ID.
当我点击Sync project with Gradle Files,在同步过程之后,这个错误消失了。然而当我重新打开项目或重新启动 Android Studio 时,再次出现此错误。
我知道Sync project with Gradle Files 可以做到这一点,但我不想每次打开我的项目时都这样做,我试图降级 Android Studio,但它似乎不起作用。
我的环境:
- Android Studio 海豚 | 2021.3.1
- Gradle 7.5.1
- Android Gradle 插件 7.3.0
有趣的是,每次我启动 Android Studio 时,都会弹出一个 IDE 错误:
java.lang.IllegalStateException: Cannot find root module data: xxxx-xxxx
at com.android.tools.idea.gradle.project.sync.idea.VariantSwitcher.getAndroidModules(VariantSwitcher.kt:248)
at com.android.tools.idea.gradle.project.sync.idea.VariantSwitcher.getSelectedVariants(VariantSwitcher.kt:261)
at com.android.tools.idea.gradle.project.sync.idea.VariantSwitcher.findAndSetupSelectedCachedVariantData(VariantSwitcher.kt:128)
at com.android.tools.idea.gradle.project.AndroidGradleProjectStartupActivityKt.attachCachedModelsOrTriggerSync(AndroidGradleProjectStartupActivity.kt:198)
at com.android.tools.idea.gradle.project.AndroidGradleProjectStartupActivityKt.access$attachCachedModelsOrTriggerSync(AndroidGradleProjectStartupActivity.kt:1)
at com.android.tools.idea.gradle.project.AndroidGradleProjectStartupActivity.runActivity(AndroidGradleProjectStartupActivity.kt:105)
at com.intellij.ide.startup.impl.StartupManagerImpl.runStartupActivity(StartupManagerImpl.kt:312)
at com.intellij.ide.startup.impl.StartupManagerImpl.runActivityAndMeasureDuration(StartupManagerImpl.kt:293)
at com.intellij.ide.startup.impl.StartupManagerImpl.runActivityAndMeasureDuration$default(StartupManagerImpl.kt:288)
at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$1$2.run(StartupManagerImpl.kt:256)
at com.intellij.openapi.project.DumbServiceImpl.doRun(DumbServiceImpl.java:395)
at com.intellij.openapi.project.DumbServiceImpl.updateFinished(DumbServiceImpl.java:387)
at com.intellij.openapi.project.TrackedEdtActivityService$TrackedEdtActivity.run(TrackedEdtActivityService.java:66)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:348)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:131)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:187)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:492)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
我依赖于我自己编写的另一个私有模块设置.gradle
includeBuild('external/xxxx-xxxx') {
name "xxxx-xxxx"
dependencySubstitution {
substitute module('com.xxxx.xxxx:xxxx:1.0.0') using project(':xxxx-xxxx')
}
}
也许是我的子模块的问题或 Android Studio/Gradle 中的错误?其他项目没有这个问题。
【问题讨论】:
标签: android android-studio gradle android-gradle-plugin