注意:svn或者git下拉文件,不要覆盖自己的iml文件;自己的iml文件也不要上传;
由于iml文件的缺失造成项目不能运行:两个iml对比:
源iml 头部:
<?xml version="1.0" encoding="UTF-8"?> <module external.linked.project.id=":mupdf" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4"> <component name="FacetManager"> <facet type="android-gradle" name="Android-Gradle"> <configuration> <option name="GRADLE_PROJECT_PATH" value=":mupdf" /> <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.5.3" /> <option name="LAST_KNOWN_AGP_VERSION" value="3.5.3" /> </configuration> </facet>
删除源iml后build生成的:
<?xml version="1.0" encoding="UTF-8"?> <module version="4"> <component name="NewModuleRootManager"> <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" /> <orderEntry type="sourceFolder" forTests="false" /> </component> </module>
由上对比主要区别在于<module version="4">;
上图看下:
不小心删除后生成了一个
删除不必要的
这是正常的,但是还是不行
原因在于这个info还有以来的lib,这些lib的iml文件也是有问题的;一一修改;
你可以查看你的adsplugin.iml 文件也是没有3条竖线的。
还有你的module的类前面的符号是未被引用状态的灰色。不是正常蓝色C 。
这时候点进去看看你的adsplugin.iml 是有错误的,我的原因是没有merge修改,里面有HEAD项,由于没有merge修改的问题。
("adsplugin.iml "中的adsplugin就是指你的module名称)
IDE:
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。
另外:
IML是由IntelliJ IDEA创建的模块文件,用于开发Java应用程序的IDE。它存储有关开发模块的信息,该模块可能是Java,Plugin,Android或Maven组件; 保存模块路径,依赖关系和其他设置。
还有:
为什么不使用gradle脚本与您添加到项目中的外部模块进行集成。
你可以“使用gradle脚本与外部模块集成”或您自己的模块。
但是,Gradle不是IntelliJ IDEA的本地项目模型 - 它是独立的,保存在.iml
文件中,并且存在于.idea/
目录中的元数据。
在Android Studio中,这些内容主要是由Gradle构建脚本生成的,这就是为什么当您更改文件时,有时会提示您“使用Gradle文件同步项目” build.gradle
。这也是为什么你不打扰把.iml
文件或.idea/
版本控制,因为他们的内容将被重新生成。