2015-06-09 3 views
107

Was sind IML-Dateien im Android Studio-Projekt? Ich lese, dass es Konfigurationsdatei für Module ist. Ich verstehe nicht, wie es funktioniert, und kann nicht einfach Gradle-Skripte verwenden, um externe Module zu integrieren, die Sie zu Ihrem Projekt hinzufügen.Was sind IMI-Dateien in Android Studio?

Auch die meiste Zeit AS generiert sie, so dass ich das Projektverhalten nicht steuern kann. Wenn ich ein Team habe, das in verschiedenen IDEs wie Eclipse und AS arbeitet, ist es möglich, mein Projekt so zu konfigurieren, dass es IDE-agnostisch ist?

Ich verstehe nicht vollständig, wie dieses System funktioniert.

Antwort

112

Was sind IMI-Dateien im Android Studio-Projekt?

Eine Google-Suche auf iml file auftaucht:

IML ist eine Moduldatei von IntelliJ IDEA erstellt, eine IDE verwendet Java-Anwendungen zu entwickeln. Es speichert Informationen über ein Entwicklungsmodul, bei dem es sich um eine Java-, Plugin-, Android- oder Maven-Komponente handeln kann. speichert die Modulpfade, Abhängigkeiten und andere Einstellungen.

(von this page)

warum nicht gradle Skripte zu verwenden, um mit externen Modulen zu integrieren, die Sie zu Ihrem Projekt hinzufügen.

Sie können "Grapleskripts verwenden, um externe Module zu integrieren" oder Ihre eigenen Module.

Allerdings ist Gradle nicht IntelliJ IDEA natives Projektmodell — das ist separat, in .iml Dateien und die Metadaten in .idea/ Verzeichnisse gehalten. In Android Studio wird dieses Zeug größtenteils aus den Gradle-Build-Skripten generiert, weshalb Sie manchmal aufgefordert werden, "Projekt mit Gradle-Dateien zu synchronisieren", wenn Sie Dateien wie build.gradle ändern. Das ist auch der Grund, warum Sie keine .iml Dateien oder .idea/ in Versionskontrolle setzen, da ihre Inhalte neu generiert werden.

Wenn ich ein Team habe, das in verschiedenen IDEs wie Eclipse und AS arbeitet, wie man Projekt IDE agnostic macht?

In einem großen Umfang können Sie nicht.

Sie können ein Android-Projekt verwenden, das die Eclipse-ähnliche Verzeichnisstruktur verwendet (z. B. Ressourcen und Manifest im Projektstammverzeichnis). Sie können Gradle mithilfe von build.gradle beibringen, wie Sie Dateien in dieser Struktur finden. Andere Metadaten (compileSdkVersion, Abhängigkeiten usw.) können jedoch nicht annähernd so einfach repliziert werden.

Andere Alternativen beinhalten:

  • Verschieben jeder zu einem anderen Build-System über, wie Maven, dass ebenso integriert ist (oder nicht, auf Ihrer Perspektive abhängig) sowohl Eclipse und Android Studio

  • Hoffe, dass Andmore bald startet, so dass Sie vielleicht eine Eclipse-IDE haben können, die Android-Projekte von Gradle Build-Skripten erstellen können

  • Haben alle eine IDE

+0

Was passiert, wenn ich die IMI-Datei entferne? es wird alles gut? –

+1

@ E-Place: Wenn Sie Android Studio verwenden, müssen Sie Android Studio neu generieren lassen, in der Regel durch Importieren des Projekts. Android Studio kann ohne es nicht funktionieren. – CommonsWare

+0

Wie kann das IMI erstellt werden? ich habe mehr als 4 iml file –

52

Fügen Sie .idea und *.iml zu .gitignore hinzu, Sie benötigen diese Dateien nicht, um das Projekt erfolgreich zu importieren und zu kompilieren.

+7

Ok, aber was sind sie? Wie funktionieren sie und welchen Einfluss haben sie? Ich schaue mir die Quelle eines anderen Projekts an und es gibt ein Modul in der IMI-Datei, das nur dort vorhanden ist, zum Beispiel für Gigya, und ich sehe es nirgendwo anders als in Manifest. Also, ist das Modul im Projekt vorhanden oder nicht? – shadox

0

Diese Dateien werden vom Android Studio-Editor erstellt und verwendet.

Sie müssen diese Dateien nicht zur Versionskontrolle einchecken.

Git verwendet .gitignore Datei, die Liste der Dateien und Verzeichnisse enthält, die Liste der Dateien und Verzeichnisse zu kennen, müssen nicht in überprüft werden.

Android Studio erstellt automatisch .gitingnore Dateien alle Dateien Auflisten und Verzeichnisse, die nicht in eine Versionskontrolle eingecheckt werden müssen.

1

Sie sind Projektdateien, die die Modulinformationen und Metadaten enthalten.

Fügen Sie einfach *.iml zu .gitignore hinzu.

In Android Studio: Drücken Sie CTRL +F9 Ihr Projekt neu zu erstellen. Die fehlenden *.iml Dateien werden generiert.

Verwandte Themen