app.iml 文件简介
app.iml 文件 这是一个临时文件,编译后出现的。
恢复.iml文件按照下面四个步骤: 1.将gradle文件中删除一行空格,目的是出现sync now 2.点击右上角Gradle,选中你的moudle 3.点击上面的刷新按钮 4.点击sync now 你就发现iml文件重新生成了。
iml分为project 的iml配置文件还有module的配置文件;
未删除:
iml文件
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="ceshi" 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="java-gradle" name="Java-Gradle">
<configuration>
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
<option name="BUILDABLE" value="false" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
删除后的:
删除后,builde后的:
仔细看看对比iml文件的图标是不一样的;
<?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>
结果:对比如上图,但是apk运行是不影响的;
未删除时的:
删除后:我们可以看到 ceshi(项目名)成为了,module;注意图标变化有利于你判断错误;
删除后,build的:注意图标变化;我发现build后iml文件都是一样的;
注意里面还有个新生成的ceshi-app.iml 和源文件是一样的;
遇到怪异问题有新的iml文件生成格式是:项目所在文件夹名+项目名.iml
举例:
上图标识的两个iml文件是相同的,但是正版的iml是还原回来的;自己参考进行修改;
make project 后直接运行不影响
build后消失;显示为正常模式;
删除后在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.iml 这是真正需要的文件;
根据上述测试我们总结:
误删iml文件后,重新build,将 项目名+module.iml 复制进新生成的那个 就ok了