0

Androidライブラリ(apklib)プロジェクトに依存するAndroidプロジェクトがあります。プロジェクトはEclipse内で正常にビルドされますが、mavenを使用したコマンドラインビルドでは、Rクラス(AndroidライブラリプロジェクトのRクラス)が重複していると文句を言って失敗します。

ターゲットフォルダ内に3つのサブディレクトリがあります。

  1. クラス:コンパイルされたクラスファイル(通常どおり)。
  2. 生成されたソース:メインプロジェクトとライブラリプロジェクトの両方に対して生成されたR.java。
  3. unpack:マニフェスト、リソースxmlファイル、生成されたR.javaファイルを含むライブラリプロジェクトのコンテンツ。

'unpack'フォルダーの存在と内容は期待されていますか?その中のR.javaファイルにより、重複Rクラスのビルドが失敗します。

4

2 に答える 2

1

Android Mavenプラグインの最新バージョン(3.0.0)を使用して、apklib使用のサンプルがどのように設定されているかを確認することをお勧めします。それはあなたの問題を解決します。

于 2012-01-25T04:23:33.837 に答える
0

ライブラリプロジェクトのpom.xmlを正しく設定していませんでした。生成されたJavaファイルをbuild/resources(別のプロジェクトからpom.xmlファイルをコピーしたアーティファクト)の下に明示的に含めていました。これを削除すると、unpackディレクトリにある重複したR.javaファイルが削除されました。unpackディレクトリは存在し、質問に投稿された構造と一致します。

ところで、「mvn compile」を実行すると、libraryprojectsサンプルは失敗しましたが、「mvninstall」では正常に機能します。私はMavenn00bなので、これは妥当かもしれません。

于 2012-01-25T17:19:29.693 に答える