我正在研究Android Studio项目的文件/目录结构。
我不明白/ app目录中两个文件的用途:
我可以对这些文件做一些解释吗?如果我想与其他程序员共享我的项目,那么我是否必须包含这些文件,或者只是包含在/ src和build.gradle下的任何文件就足够了?
答案 0 :(得分:2)
我可以对这些文件做一些解释吗?
app.iml
是Android Studio生成的文件,基于build.gradle
文件的内容,由IDE内部使用。 Android Studio基于IntelliJ IDEA; .iml
个文件是IDEA的项目元数据文件。 Android Studio不认为它们是记录系统 - build.gradle
文件 - 但可能生成.iml
文件更简单,而不是重写IDEA而不需要它们。
proguard-rules.pro
包含用于配置代码混淆和收缩的特定于模块的规则。目前,这是通过名为ProGuard的工具处理的,这就是文件按原样命名的原因。
输出如果我想与其他程序员共享我的项目,那么我是否必须包含这些文件,或者只是包含在/ src和build.gradle之外的任何内容?
app.iml
;我认为,由于技术原因它不在build/
。你不应该分发这个。
proguard-rules.pro
。你应该分发这个,即使它现在基本上是空的。
答案 1 :(得分:1)
app.iml是由Android Studio生成的文件,其中包含有关项目的信息 它是IntelliJ的常用文件格式。
如果在build.gradle文件中启用proguard(minifyEnabled true),则使用proguard-rules.pro。它有助于提高性能并保持应用程序的小巧。
要了解有关proguard的更多信息,请阅读: http://developer.android.com/tools/help/proguard.html
答案 2 :(得分:1)
从intelliJ文档中我理解的是你应该分享iml文件,以便与使用android studio的其他开发人员顺利合作,我从他们的文档中粘贴以下文本,链接到这里https://intellij-support.jetbrains.com/hc/en-us/articles/206827587-How-to-manage-projects-under-Version-Control-Systems
如果您决定与其他开发人员共享IDE项目文件,请遵循以下准则:
基于目录的项目格式(.idea目录)
默认情况下,所有最新的IDE版本都使用此格式。以下是您需要分享的内容:
项目根目录下.idea目录下的所有文件,除了存储用户特定设置的workspace.xml和tasks.xml文件。
所有可以位于不同模块目录中的.iml模块文件(适用于IntelliJ IDEA)
小心分享以下内容:
生成签名版本的Android工件(将包含密钥库密码)
在IDEA 13及更早版本的dataSources.ids中,datasources.xml可以包含数据库密码。 IDEA 14解决了这个问题。
您可以考虑不要分享以下内容:
gradle.xml文件
用户词典文件夹(以避免在其他开发人员具有相同名称时发生冲突)
.idea / libraries下的XML文件,以防它们是从Gradle项目生成的 旧项目格式(.ipr / .iml / .iws文件)
共享项目.ipr文件和所有.iml模块文件,不要共享.iws文件,因为它存储用户特定的设置
如果您将git版本控制集成与IDE集成,Android Studio将生成具有以下值的.gitignore
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build