web-dev-qa-db-ja.com

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

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

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

私はこのシステムがどのように機能するのか完全には理解していません。

147
shadox

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

Googleでiml fileを検索すると次のようになります。

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

このページから

プロジェクトに追加する外部モジュールと統合するためにgradleスクリプトを使用しないのはなぜでしょうか。

あなたは「外部モジュールと統合するためにgradleスクリプトを使う」か、あなた自身のモジュールを使います。

ただし、GradleはIntelliJ IDEAのネイティブプロジェクトモデルではありません。つまり、別々で、.imlファイルに保存され、メタデータは.idea/ディレクトリに保存されます。 Android Studioでは、そのようなものはGradleビルドスクリプトから大部分が生成されます。そのため、build.gradleのようなファイルを変更すると、「プロジェクトをGradleファイルと同期する」ように求められることがあります。これは、.imlファイルや.idea/をバージョン管理下に置かなくても構わない理由です。

EclipseとASのように異なるIDEで作業するチームがある場合、project IDE agnosticにする方法は?

大部分は、できません。

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

他の選択肢は次のとおりです。

  • EclipseとAndroid Studioの両方に同等に統合されている(または見方によってはそうではない)Mavenなどの別のビルドシステムにみんなを移動します。

  • Andmore が間もなく開始されることを願っています。そのため、おそらく、GradleビルドスクリプトからAndroidプロジェクトをビルドできるEclipse IDEを作成できます

  • みんなに一つのIDEを使わせてもらう

145
CommonsWare

.idea*.iml.gitignoreを追加します。プロジェクトを正常にインポートしてコンパイルするためにこれらのファイルは必要ありません。

67
Pavel Synek

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

*.iml.gitignoreに追加するだけです。

Android Studioの場合:プレス CTRL + F9 プロジェクトを再構築します。不足している*.imlファイルが生成されます。

6
Redwolf

これらのファイルはAndroid Studioエディタによって作成され使用されます。

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

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

Android Studioは自動的に.gitingnoreファイルを作成し、バージョン管理にチェックインする必要がないすべてのファイルとディレクトリをリストします。

1
Arnav Rao