Android Studioのimlファイルとは何ですか?


107

Android Studioプロジェクトのimlファイルとは何ですか?モジュール用の設定ファイルだと読んでいます。私はそれがどのように動作するのか分かりませんし、私はちょうどあなたのプロジェクトに追加する外部モジュールと統合するためにgradleスクリプトを使用することはできません。

また、ほとんどの場合、ASがそれらを生成するため、プロジェクトの動作を制御することはできません。 EclipseとASのような異なるIDEで動作するチームを持っている場合、私のプロジェクトをセットアップして、IDEにとらわれないようにすることは可能ですか?

このシステムの仕組みを完全に理解していません。

112

Android Studioプロジェクトのimlファイルとは何ですか?

iml file上のGoogle検索では、ターンアップ:

IMLはのIntelliJ IDEA、Javaアプリケーションを開発するために使用されるIDEによって作成されたモジュールファイルです。 Java、Plugin、Android、Mavenコンポーネントなどの開発モジュールに関する情報を格納します。モジュールパス、依存関係、およびその他の設定を保存します。

this pageから)なぜあなたはあなたのプロジェクトに追加する外部モジュールと統合するためのGradleスクリプトを使用しません。

「外部モジュールと統合するためにgradleスクリプトを使用する」、または独自のモジュールを使用します。

しかし、GradleはIntelliJ IDEAのネイティブプロジェクトモデル—ではなく、.imlファイルに保存され、.idea/ディレクトリに保持されています。 Androidスタジオでは、Gradleビルドスクリプトからそのようなものが大きく生成されるため、build.gradleのようなファイルを変更すると「Gradleファイルとプロジェクトを同期させる」ように促されることがあります。これはまた、.imlファイルまたは.idea/をバージョンコントロールに入れても、その内容が再生成されるので気にしません。

私はチームがEclipseのような異なるIDEで動作している場合、どのようにプロジェクトのIDEに依存しないようにしていますか?

大部分は、できません。

Eclipseスタイルのディレクトリ構造(プロジェクトルートディレクトリのリソースやマニフェストなど)を使用するAndroidプロジェクトをお持ちでください。 Gradleにbuild.gradleを介して、その構造内のファイルを見つける方法を教えることができます。しかし、他のメタデータ(compileSdkVersion、依存関係など)はほとんど簡単に複製されません。

他の選択肢が含まれます:

  • 移動皆を介して別のビルドシステムに、Mavenのように、それは同じように(あなたの視点に応じて、またはしない)統合されているEclipseとAndroidのメーカーの両方

  • へうまくいけばAndmoreがすぐにリリースされるので、おそらくあなたはGradleビルドスクリプトからAndroidプロジェクトをビルドできるEclipse IDEを手に入れることができます

  • 誰もが1つのIDEを使用しました

  0

imlファイルを削除するとどうなりますか?それは大丈夫でしょうか? 17 7月. 162016-07-17 16:16:34

+1

@ E-Place:Android Studioを使用している場合は、通常はプロジェクトをインポートしてAndroid Studioを再生成する必要があります。 Android Studioはそれなしでは機能しません。 17 7月. 162016-07-17 16:18:02

  0

imlをどのように作成できますか?私は4つ以上のimlファイルを持っています 17 7月. 162016-07-17 16:26:00

  0

@ E-Place:通常は、プロジェクトルートに1つの '.iml'ファイルと各モジュールディレクトリに1つの' .iml'ファイル(例えば 'app /')があります。 [ツール]> [Android]> [Gradleファイルでプロジェクトを同期]を試してみてください。それ以外の場合は、プロジェクトを再インポートする必要があります。この分野にさらなる懸念がある場合は、新しいスタックオーバーフローの質問をしてください。 17 7月. 162016-07-17 16:32:48

+1

'* .iml'ファイルと' .idea/'ディレクトリに関しては、少なくとも' git'などを使ってファイルを配布/同期していると仮定すれば、誰もが同じIDEを使うことができます。 'git'については、同期させたくないファイルが' .gitignore'ファイルで参照されていることを確認してください。@Pavel Synekが示唆するように、以下のようにします。リポジトリから削除してローカルに復元/復元する必要がありますが、これは単に 'mv'、' git commit'、 'mv'です。 16 3月. 172017-03-16 17:46:19

  0

IntelliJを使用して開発したJavaアプリケーションだけでなく、.imlファイルもあります。私はIntelliJの変種の1つであるPhpStormを持っており、Webアプリケーションを開発すると、.imlファイルが生成されます。 07 6月. 172017-06-07 08:20:27

+1

皮肉なことは、Googleの検索でこの答えが表示されることです。よくできました :) 27 7月. 172017-07-27 23:53:13


52

.idea*.iml.gitignoreを追加すると、プロジェクトを正常にインポートしてコンパイルする必要はありません。

+7

しかし、それは何ですか?彼らはどのように働き、どのような影響を与えますか?私は別のプロジェクトのソースを探していますが、そこに存在するモジュールがimgファイルにあります。ギガの場合はマニフェスト以外の場所には表示されません。それで、そのモジュールはプロジェクトに存在するのでしょうか、それともありませんか? 09 6月. 152015-06-09 16:11:00


0

これらのファイルはAndroidスタジオエディタで作成され使用されます。

これらのファイルをバージョン管理にチェックインする必要はありません。

Gitはチェックインする必要はありませんファイルとディレクトリのリストを知るために、ファイルやディレクトリのリストが含まれ.gitignoreファイルを、使用しています。

Androidのスタジオは自動的にすべてのファイルを一覧表示.gitingnoreファイルを作成しますおよび任意のバージョンコントロールにチェックインする必要のないディレクトリがあります。


1

モジュール情報とメタデータを保持するプロジェクトファイルです。

*.iml.gitignoreを追加してください。 Androidのメーカーで

:あなたのプロジェクトを再構築するCTRL +F9を押します。紛失した*.iml個のファイルが生成されます。