我产生的起因
准备克隆工程(project)的新电脑中,有一个重名的工程在AS(Android Studio)中默认打开。为了克隆到同一个文件夹中,将原工程文件夹删除后,克隆到该文件夹中。
运行AS时意外地自动加载了该工程文件夹,建立(Bulid)完成后,提示该问题。
可能产生原因
看了stack overFlow的回答,结论是AS是个神奇的东西,奇奇怪怪的问题没人能说出准确的原因,总结来说有以下几个方面:(排序按可能程度依次降低)
1.默认打开工程文件夹的过程等同于打开已存在的工程(Open an existing Android Studio Project),这个过程不会对*.iml文件重写,而该文件中external.system.id="GRADLE"缺失。
2.settings.gradle中有一些奇怪的东西,比如
include ':app'
rootProject.name='<somthing else>'//奇怪的东西
解决方法
同样方法有多种:(排序按可能程度依次降低)
1.依赖AS工程导入功能
1.关闭工程。
2.通过AS导入工程的方法(File->New->Import project…)导入工程。
3.导入的过程中会自动重写*.iml文件。
4.建立完成后问题解决。(吧)
2.依赖AS高级功能
1.保持打开并报错的工程。
2.找到(Sync Project with Gradle Files)
3.点击后等待,即可解决。(吧)
3.依赖AS Build过程的缘分
1.保持打开并报错的工程。
2.选择清除缓存并重启(File -> Invalidate Caches / Restart -> Invalidate Caches & Restart)
3.等待建立过程完成,问解决。(吧)
4.啥都不依赖,手动来(依然要Build)
1.关闭工程及AS。
2.打开工程文件夹。
3.删除.idea文件夹
4.搜索*.iml文件,全删除。
5.重新打开AS,完成建立后问题解决。(嗯我是这么解决的)
5.神奇操作
将settings.gradle中修改为
include ':app'
问题解决(吧)。