繁体   English   中英

我的Android应用程序目录中的app.iml和proguard-rules.pro在做什么?

[英]What are app.iml and proguard-rules.pro doing in my Android app directory?

我正在研究Android Studio项目的文件/目录结构。

我不了解/ app目录中两个文件的用途:

  1. app.iml
  2. proguard-rules.pro

我可以对这些文件进行一些解释吗? 如果我想与其他程序员共享我的项目,那么我是否必须包含这些文件或/ src和build.gradle下的内容就足够了?

我可以对这些文件进行一些解释吗?

app.iml是一个Android Studio生成的文件,基于build.gradle文件的内容, build.gradle文件在IDE内部使用。 Android Studio基于IntelliJ IDEA; .iml文件是IDEA的项目元数据文件。 Android Studio并不认为它们是记录系统build.gradle文件是-但据推测,生成.iml文件比重新.iml IDEA不需要它们更简单。

proguard-rules.pro包含特定于模块的规则,用于配置代码混淆和收缩。 目前,这是通过名为ProGuard的工具来处理的,这就是为什么要按原样命名文件的原因。

如果我想与其他程序员共享我的项目,那么我是否必须包含这些文件或/ src和build.gradle下的内容就足够了?

app.iml输出; 我想它不是在build/出于技术原因。 您不应该分发此。

输入proguard-rules.pro 即使此时此文件基本上是空的,也应该分发它。

app.iml是由Android Studio生成的文件,其中包含有关您的项目的信息。这是IntelliJ的常用文件格式。

如果在build.gradle文件中启用了proguard(minifyEnabled true),则使用proguard-rules.pro。 它有助于提高性能并保持您的应用程序小巧。

要阅读有关proguard的更多信息,请阅读此处: http : //developer.android.com/tools/help/proguard.html

从intelliJ文档中,我了解到您应该共享iml文件,以便与使用android studio的其他开发人员进行流畅的协作,我将从他们的文档中粘贴以下文本,请在此处链接https://intellij-support.jetbrains.com/ HC / EN-US /用品/ 206827587,如何管理的项目,下版本控制的系统

如果您决定与其他开发人员共享IDE项目文件,请遵循以下准则:

基于目录的项目格式(.idea目录)

默认情况下,所有最近的IDE版本都使用此格式。 这是您需要分享的内容:

项目根目录中.idea目录下的所有文件,但工作区.xml和task.xml文件除外,这些文件存储用户特定的设置。

可以位于不同模块目录中的所有.iml模块文件(适用于IntelliJ IDEA)

分享以下内容时要小心:

产生签名版本的Android工件(将包含密钥库密码)

在IDEA 13和更早版本的dataSources.ids中,datasources.xml可以包含数据库密码。 IDEA 14解决了此问题。

您可以考虑不共享以下内容:

gradle.xml文件

用户字典文件夹(如果其他开发者具有相同的名称,则避免冲突)

如果是从Gradle项目旧版项目格式生成的.idea / libraries下的XML文件(.ipr / .iml / .iws文件)

共享项目.ipr文件和所有.iml模块文件,请勿共享.iws文件,因为它存储了用户特定的设置

如果您将git版本控制集成与IDE集成,Android Studio将使用以下值生成.gitignore

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM