1

コマンド ライン ツールを使用してテストをビルドおよび実行する方法を理解するために、テスト プロジェクトを作成しました。私はなんとかプロジェクトを作成し、それを更新しました

android update project -p .

でデバッグします

ant debug

このテスト プロジェクトにライブラリ プロジェクトを追加すると、ライブラリの build.xml が見つからないため、ant デバッグが失敗し始めました。atm で見つけた唯一の解決策は、ライブラリ プロジェクトも更新することです (ここにあります)。これは正しい方法ですか?私が使用しているライブラリの多くに pom.xml ファイルがあります。Mavenで使用されていることは知っていますが(それについては何も知りませんが)、別の解決策に役立つかもしれません。

4

1 に答える 1

3

Ant は、Android APK をビルドするための公式の方法です。Maven はそれを行う別の方法です (公式にはサポートされていませんが、非常にうまく機能します)。

maven または ant を使用する場合、デフォルトのプロジェクト レイアウトに関してほとんど違いはありませんが、追加の構成作業を行うと、両方のビルド システムが同じソース コードで動作する可能性があります (つまり、一部の情報が重複します)。

Maven を使用したデフォルトのプロジェクト レイアウト

  • Java ソースファイルは `/src/main/java` の下にあります
  • 依存関係は pom.xml で定義されます (依存関係を定義する Maven の方法を使用し、apklibAndroid ライブラリのタイプを使用)

Ant (および Eclipse ADT プラグイン) を使用したデフォルトのプロジェクト レイアウト

  • Javaソースファイルは以下にあります/src
  • 依存関係はで定義され/project.properties、相対パスを使用して指定されます。

以下に例を示しますproject.properties(これは、他の 2 つのライブラリ プロジェクトを参照するライブラリ プロジェクトの典型的な例です)。

target=android-15
android.library=true
android.library.reference.1=../somelib
android.library.reference.2=../someOtherLib

(ご覧のとおり、このファイルにはいくつかの追加情報が保存されています:Androidターゲットと、プロジェクトがライブラリまたはアプリであるという事実。mavenを使用する場合、この情報はpom.xmlにあります)

ant で maven android lib をビルドする方法は?

maven-layout-android-library問題 ( withをビルドする必要がある場合ant) は次のとおりです。

  • 適切な(このコマンドに関する公式ドキュメントはこちら/build.xmlから実行できます)android update library-project ...
  • 適切なものを持っている/project.properties(コマンドによって部分的に行われますが、手動またはEclipse ADTプラグインを使用しandroid update ...て追加する必要がある場合があります)android.library.reference
  • Javaantソース ファイルがデフォルトの場所ではなく、/src/main/java

この最後の点については、次のようにします。

  • ファイルを作成します/ant.properties(あなたのmaven-layout-android-library
  • 次のエントリを入れます。

    source.dir=src/main/java

(重要/src: Java ソース ファイルが既にmaven-layout-project の下にある場合があり、この場合、pom.xml にはソース ディレクトリが存在するという情報が含まれているため、常に必要というわけではありません/src)

それだけです。今、あなたmaven-layout-android-libraryはで構築することができますant debug

于 2013-03-16T08:28:36.490 に答える