web-dev-qa-db-fra.com

Que sont les fichiers iml dans Android Studio?

Que sont les fichiers iml dans le projet Android Studio? J'ai lu qu'il s'agit d'un fichier de configuration pour les modules. Je ne comprends pas comment cela fonctionne et je ne peux pas simplement utiliser des scripts Gradle pour intégrer des modules externes que vous ajoutez à votre projet.

De plus, AS les génère la plupart du temps, je ne peux donc pas contrôler le comportement du projet. Si j'ai une équipe qui travaille dans différents environnements IDE comme Eclipse et AS, est-il possible de configurer mon projet pour qu'il soit IDE agnostique?

Je ne comprends pas bien comment fonctionne ce système.

161
shadox

Que sont les fichiers iml dans le projet Android Studio?

Une recherche Google sur iml file s’affiche:

IML est un fichier de module créé par IntelliJ IDEA, un IDE utilisé pour développer des applications Java. Il stocke des informations sur un module de développement, qui peut être un composant Java, Plugin, Android ou Maven. enregistre les chemins de module, les dépendances et autres paramètres.

(de cette page )

pourquoi ne pas utiliser des scripts de gradation pour intégrer des modules externes que vous ajoutez à votre projet.

Vous faites "utiliser des scripts Gradle pour intégrer des modules externes" ou vos propres modules.

Toutefois, Gradle n’est pas le modèle de projet natif d’IntelliJ IDEA - il est séparé, stocké dans des fichiers .iml et les métadonnées dans des répertoires .idea/. Dans Android Studio, ces éléments sont en grande partie générés à partir des scripts de construction de Gradle. C'est pourquoi il vous est parfois demandé de "synchroniser le projet avec les fichiers Gradle" lorsque vous modifiez des fichiers tels que build.gradle. C’est aussi la raison pour laquelle vous n’aurez pas la peine de mettre des fichiers .iml ou .idea/ dans le contrôle de version, car leur contenu sera régénéré.

Si j'ai une équipe qui travaille dans différents environnements IDE comme Eclipse et AS, comment rendre le projet IDE agnostique?

Dans une large mesure, vous ne pouvez pas.

Vous pouvez utiliser un projet Android qui utilise la structure de répertoires de style Eclipse (par exemple, les ressources et le manifeste dans le répertoire racine du projet). Vous pouvez apprendre à Gradle, via build.gradle, à trouver des fichiers dans cette structure. Cependant, d'autres métadonnées (compileSdkVersion, dépendances, etc.) ne seront pas aussi facilement répliquées.

D'autres alternatives incluent:

  • Déplacez tout le monde sur un autre système de compilation, comme Maven, qui est également intégré (ou non, selon votre perspective) à la fois à Eclipse et à Android Studio.

  • J'espère que Andmore décolle bientôt, de sorte que vous puissiez peut-être avoir un Eclipse IDE pouvant construire Android projets à partir de scripts de construction de Gradle

  • Est-ce que tout le monde utilise un seul IDE?

156
CommonsWare

Ajoutez .idea et *.iml à .gitignore, vous n'avez pas besoin de ces fichiers pour importer et compiler le projet avec succès.

69
Pavel Synek

Ce sont des fichiers de projet, qui contiennent les informations de module et les métadonnées.

Ajoutez simplement *.iml à .gitignore.

Dans Android Studio: Appuyez sur CTRL + F9 pour reconstruire votre projet. Les fichiers *.iml manquants seront générés.

8
Redwolf

Ces fichiers sont créés et utilisés par Android Studio Editor.

Vous n'avez pas besoin de vérifier ces fichiers pour le contrôle de version.

Git utilise le fichier .gitignore, qui contient la liste des fichiers et des répertoires, pour connaître la liste des fichiers et des répertoires qui ne doivent pas être archivés.

Android studio crée automatiquement des fichiers .gitingnore répertoriant tous les fichiers et répertoires qu'il n'est pas nécessaire d'insérer dans un contrôle de version.

2
Arnav Rao