Android Studio Gradle已处置模块


254

我已经安装了Android Studio版本1.0.1。我已经从eclipse中导入了我的项目,并且效果很好。然后,我删除了一个模块,并将其重新导入到我的Android Studio项目中。gradle版本显示“ BUILD SUCCESSFUL”,但它会弹出警告窗口,并显示以下消息

无法完成Gradle执行。原因:已经处置:模块:'MYMODULENAME'

我现在无法启动我的应用程序。知道我能做什么吗?

编辑: 我按照以下说明解决了问题:

  1. 将项目视图从Android切换到Project
  2. 删除settings.gradle中包含“ MYMODULENAME”的条目
  3. 模块符号中的蓝色框不会显示。然后,您可以在上下文菜单中删除该模块
  4. 导入模块

这似乎是个错误……您提交了一个吗?
Saad Farooq,2015年

奥德·布雷纳(Oded Breiner)给出了正确的答案。重命名然后忘记删除iml文件时会发生这种情况
Droid Teahouse

2
只需将项目重新导入到Android Studio中即可。
JaydeepW

Answers:


351

这是纯粹的IDEA / AS问题,gradlew clean| 构建>清洁| 生成>重建只会浪费您的时间。

这里的大多数解决方案都是在黑暗中盲目刺伤。这是我发现的根本原因:

  1. 某些.iml文件可能丢失(可能是因为我们删除了文件),请检查模块错误是否具有.iml
  2. 如果缺少,请检查是否.idea/modules.xml有该模块的条目

同步时,我注意到IDEA / AS尝试在.idea/modules.xml已有一个重复条目的情况下将其放入。在同步尝试重置内存中的模块时,此重复的条目可能会被丢弃两次。

快速解决方案:为了使它最容易工作,就是将.idea/modules.xml其与.iml文件一起删除。此外,.idea/modules/如果存在,可能值得删除该文件夹。重新启动Android Studio(无需清除缓存),并从Gradle视图或工具栏强制Gradle同步以重新创建文件。


4
完全整理了我的问题。感谢分享!
马克·奥沙利文'18

89
对于惰性复制粘贴程序:find . -name *.iml -delete && rm .idea/modules.xml,同步Android Studio
LukaCiko

1
非常感谢您的见解。就我而言,该app模块有两个条目modules.xml
-Ishan,

这可行,但是当我切换项目时,Android Studio(3.4.1)一直对我这样做。它还将继续尝试同步我打开的先前模块。有长期解决方案吗?
Ben Wilkinson

@BenWilkinson在3.4.1中没有注意到我打开的两个项目是来自不同克隆的相同代码库。尽管我大多数时候选择“新窗口”。我将关闭AS,清理两个项目,并希望它们在新的同步之后稳定下来
。– TWiStErRob

272

我通过以下方法解决了这个问题:

  1. ./gradlew 清洁
  2. 重新启动Android Studio

1
它的工作,但我不明白为什么它的下载gradle版本,我已经配置了最新的gradle 2.2
KirtikumarA。2015年

29
第三次来到这里,我不得不重新启动Android Studio #eclipseflashback
passsy 2015年

2
Grandle和Android Studio简直是可耻的:我通过GUI删除了一个模块,它开始给我这个错误。
Antonio Sesto

首先以为它没有用,但忘了重启:D然后它起作用了
tung

我不是通过命令行,而是通过Studio菜单中的Build-> Clean Project选项执行了相同的操作,然后重新启动。万一有人在使用命令行时遇到问题,这会更简单。做同样的事情。:)
Surendra Kumar's

102

最简单的解决方案。(先尝试一下)。

  1. 退出并重新启动Android Studio。(退出不关闭)

  2. 如有需要,请选择“生成>清理项目”。


84

为我工作:文件->使高速缓存无效/重新启动...->使无效并重新启动


是的!有时,硬性地使缓存无效是解决这些问题的唯一方法。
约书亚·品特

3
令人气愤的是我们仍然必须在2019年做到这一点!
aaronmarino

1
根据该线程中用户的所有其他建议(./gradlew clean,删除一些项目文件等),这是唯一对我有用的建议。
奥古斯托·卡莫

11

有时gradlew clean还是Invalidate Cache and Restart没有帮助,因为这些方法无法自行清除Android Studio特定的文件。

在这种情况下,请关闭AS并在存在文件的根项目中删除.idea目录和.iml文件settings.gradle。这将使AS从头开始重建。


1
我认为这是最可靠的解决方案
乔治

当我将Android Gradle升级到build:gradle:3.5.0-rc02
Luis Cardoza Bird

6

对我来说,当我删除一个模块并使用相同的程序包名称解决方案构建了一个新模块时,发生了这种情况:

清理并重新启动Studio



4

对于其他解决方案,请检查是否已将您的应用添加到settings.gradle中

include ':app' 

1

在我的Android项目中使用RN组件时遇到了类似的问题,解决此问题的唯一方法是忽略gradle项目。

去做这个:

  • 单击AS右侧的gradle选项卡
  • 右键单击导致问题的gradle模块
  • 点击“忽略Gradle项目”
  • 执行gradle同步,现在应该成功了
  • 如果您需要此模块再次执行上述4个步骤,则这次在gradle项目上单击鼠标右键时,它将显示“ Unignore Gradle Project”
  • Gradle同步现在应该可以工作了

不知道是什么原因导致的,但是在使用React Native Maps时我发生了这种情况。

注意:如果您仍然遇到此问题。尝试刷新导致问题的gradle项目。


1

如果gradle clean和/或Build -> Clean Project没有帮助尝试重新打开项目:

  • 关闭专案
  • 在“欢迎使用Android Studio”屏幕上,点击“打开现有的Android Studio项目” 在此处输入图片说明
  • 选择gradle文件打开

警告请注意这是一个破坏性的操作-您将失去项目书签,断点和架子


1

下面的解决方案对我有用

  1. 删除所有 .iml文件
  2. 重建项目

1

对我来说,这发生在我删除模块并尝试构建项目时:

一个简单的解决方案是使缓存无效并重新启动。

Android Studio>文件>无效缓存>无效并重新启动


0

有时我也会遇到这个问题。单击右侧android studio底部栏中的gradle控制台。它将在日志中显示确切的错误。我的问题是我已经编译了SDK 22,而导入的appcomact库是sdk 23。


0

删除一些(aws)的gradle文件后,我遇到了同样的问题

我通过将它们标记为“忽略gradle”来解决

我认为这不是最佳答案,但可以为我解决

Gradle(在右侧栏)->右键单击有问题的gradle->忽略


0

尽管接受的答案对我没有用(不幸的是我无法发表评论),但它使我朝着正确的方向前进。

.idea/libraries我发现有一些重复的xml文件(重复项在该_aar.xml位之前以2命名)。

删除这些,重新启动android studio并同步修复错误


0

就我而言,与该问题相同,因为我的项目位于符号链接目录中,所以发生了这种情况。在真实目录中重新打开项目并重新配置gradle(File -> Sync with Gradle files)之后,问题就消失了。Android Studio,真可惜!


0

我遇到这个问题是因为,gradle并且Android Studio正在使用其他路径jvm。在Event Log其中,可以选择使用AS并gradle使用相同的路径。选择此选项,然后invalidate cache & restart为我解决了该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.