解决Android Studio报错:Compilation is not supported for following modules

简介: 本文主要解决和"Compilation is not supported for following modules"有关的报错。
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

报错回顾

昨天导入了一个项目并且对它进行修改,当时是好好的,今天一打开,右下角有个弹窗提示警告信息:

Compilation is not supported for following modules: xxx(我的项目名) Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project.

尝试的解决方案

  • 第一反应是:
invalid caches and restart

image.png
结果:这个方法对我的项目不奏效。

  • 既然提示说问题和Gradle相关,那我就从Gradle入手:
Sync project with Gradle files

image.png

结果:同步结束后还是一样

最终解决了问题的方案

将该项目文件路径下的.idea文件夹删除,之后重启Android Studio。

image.png

思考:为什么删除.idea能成功?

.idea是什么

.开头的文件是一些临时的缓存文件;.idea就是idea这个IDE为项目生成的临时配置文件。

为什么删除它是有效的

因为这里面的一些配置文件,在每次打开项目时,Gradle都会重新再导入,有可能是产生了冲突或者有缺失。如果是团队开发,.idea还可能会覆盖掉别人的配置。

额外收获

通过阅读参考资料中提到的那篇文章,我还了解到了上传代码到Git仓库时,不应把所有的文件都上传,因为这会暴露隐私。
不应该上传的文件及文件夹有:

  1. 谨慎上传的文件
  • Android artifacts that produce a signed build
  • 在IntelliJ IDEA 13 和之前的版本中的dataSources.ids和datasources.xml文件,它们包含数据库密码
  1. 避免分享下面的文件:
  • 对于使用Gradle或Maven的项目,避免分享.iml和.idea/modules.xml文件,因为它们会在导入时生成

?- gradle.xml文件

  • 用户字典(dictionaries文件夹)
  • .idea/libraries目录下的XML文件,因为它们会从Gradle或Maven项目中生成

参考资料

  • 知乎:《为Git仓库里的.idea文件夹正名》

(链接太长,就不贴了,对原文感兴趣的小伙伴可以去搜搜这个标题)

相关文章
|
3月前
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
161 1
|
4天前
|
Android开发
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
26 1
|
3天前
|
安全 编译器 API
Android HAL深入探索(5): 调试HAL报错与解决方案
Android HAL深入探索(5): 调试HAL报错与解决方案
6 1
|
4月前
|
Java 开发工具 Android开发
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
164 0
|
17天前
|
Android开发 开发者
安卓投屏神器 Scrcpy安 报错ERROR: Could not find any ADB device
使用Scrcpy安卓投屏工具时遇到报错,问题根源是未开启开发者模式。解决步骤:进入设置,点击【关于手机】→连续点击版本号激活开发者模式,然后在【系统设置】→【开发者选项】中开启USB调试。参照此方法后可正常执行。Scrcpy软件下载链接和GitHub页面也已提供。
26 1
|
28天前
|
Java Android开发
Android Studio的使用导入第三方Jar包
Android Studio的使用导入第三方Jar包
12 1
|
2月前
|
数据库 Android开发 数据库管理
【Android】使用android studio查看内置数据库信息
【Android】使用android studio查看内置数据库信息
76 0
|
2月前
|
编译器 开发工具 Android开发
|
2月前
|
Android开发
【Android Studio】小游戏 | 实现两个小动物随手指移动
【Android Studio】小游戏 | 实现两个小动物随手指移动
|
2月前
|
Android开发 数据安全/隐私保护
【Android Studio】简单的QQ登录界面
【Android Studio】简单的QQ登录界面