Que sont les fichiers iml dans le projet Android Studio?
Une recherche Google sur iml file
apparaît:
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 d'autres paramètres.
(à partir de cette page )
pourquoi ne pas utiliser des scripts gradle pour s'intégrer aux modules externes que vous ajoutez à votre projet.
Vous «utilisez des scripts gradle pour intégrer des modules externes», ou vos propres modules.
Cependant, Gradle n'est pas le modèle de projet natif d'IntelliJ IDEA - c'est-à-dire séparé, conservé dans des .iml
fichiers et les métadonnées dans des .idea/
répertoires. Dans Android Studio, ces éléments sont en grande partie générés à partir des scripts de construction Gradle, c'est pourquoi vous êtes parfois invité à "synchroniser le projet avec les fichiers Gradle" lorsque vous modifiez des fichiers comme build.gradle
. C'est aussi pourquoi vous ne vous souciez pas de mettre des .iml
fichiers ou .idea/
de contrôler la version, car leur contenu sera régénéré.
Si j'ai une équipe qui travaille dans différents IDE comme Eclipse et AS, comment rendre le projet IDE agnostique?
Dans une large mesure, vous ne pouvez pas.
Vous êtes invités à avoir un projet Android qui utilise la structure de répertoires de style Eclipse (par exemple, ressources et manifeste dans le répertoire racine du projet). Vous pouvez apprendre à Gradle, via build.gradle
, comment 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 vers un autre système de construction, comme Maven, qui est également intégré (ou non, selon votre point de vue) à la fois à Eclipse et Android Studio
J'espère qu'Andmore décolle bientôt, afin que vous puissiez peut-être avoir un IDE Eclipse capable de créer des projets Android à partir de scripts de génération Gradle
Demandez à tout le monde d'utiliser un IDE
.iml
fichier à la racine du projet, plus un.iml
fichier dans chaque répertoire de module (par exemple,app/
). Vous pouvez essayer Outils> Android> Synchroniser le projet avec les fichiers Gradle. Sinon, vous devrez peut-être réimporter le projet. Si vous avez des préoccupations supplémentaires dans ce domaine, posez une nouvelle question Stack Overflow.*.iml
fichiers et le.idea/
répertoire, en supposant que vous distribuez / synchronisez les fichiers en utilisantgit
ou similaire. Pourgit
, assurez-vous simplement que les fichiers que vous ne souhaitez pas synchroniser sont référencés dans le.gitignore
fichier, comme le suggère @Pavel Synek, ci-dessous. Vous aurez besoin de les supprimer du référentiel et régénèrent / les restaurer sur place, mais c'est justemv
,git commit
etmv
.Ajoutez
.idea
et*.iml
à.gitignore
, vous n'avez pas besoin de ces fichiers pour importer et compiler le projet avec succès.la source
.idea
dans son ensemble, ne doit jamais être ignoré. Il contient plusieurs fichiers, tels que des règles de charpie et des dictionnaires personnalisés, qu'une équipe voudrait absolument intégrer au contrôle de version.Ce sont des fichiers de projet, qui contiennent les informations du module et les métadonnées.
Ajoutez simplement
*.iml
à.gitignore
.Dans Android Studio: appuyez sur CTRL+ F9pour reconstruire votre projet. Les
*.iml
fichiers manquants seront générés.la source
Ces fichiers sont créés et utilisés par l'éditeur Android Studio.
Vous n'avez pas besoin d'archiver ces fichiers pour le contrôle de version.
Git utilise le fichier .gitignore, qui contient la liste des fichiers et répertoires, pour connaître la liste des fichiers et répertoires qui n'ont pas besoin d'être archivés.
Android Studio crée automatiquement des fichiers .gitingnore répertoriant tous les fichiers et répertoires qui n'ont pas besoin d'être archivés dans un contrôle de version.
la source