1

Android プロジェクトと、それが依存する Android ライブラリ プロジェクト (私自身) があります。自動ビルドにはmaven-android-pluginを含むmavenを使用し、IDEとしてEclipseを使用し、m2eclipseとm2e-androidを使用して2つをブリッジしています。

ほとんどの場合、問題なく動作しています。コマンド ラインから Maven ビルドを実行でき、Eclipse からビルドすることもできます。

ただし、メインのAndroidアプリプロジェクトのEclipseで、「プロジェクト構成がpom.xmlで最新ではありません。Mavenを実行->プロジェクトを更新するか、クイックフィックスを使用してください。」というビルドエラーが半定期的に発生します。これを行うと、アプリの project.properties ファイルで、アプリからライブラリ プロジェクトへの相対パスがめちゃくちゃになるようです。具体的には、ライブラリ プロジェクトへの相対パスが正しいパスから、Eclipse ワークスペース内のプロジェクトの相対位置を反映するパスに変更されます。

例: ディスク レイアウトは次のようになります。

/libs
-- /my-lib
/apps
-- /my-app

したがって、my-app から my-lib への正しい相対パスは ../../libs/my-lib です。

ただし、私の Eclipse ワークスペースでは、my-app と my-lib は兄弟であり、Maven-Update プロジェクトを実行すると、project.properties が my-lib への相対パス (つまり、「android.library.reference.1」) になるように更新されます。 =") は "../my-lib" になります。

その結果、Eclipse では、ライブラリ プロジェクト内のシンボルへのメイン アプリ内のすべての参照に対してコンパイル エラーが発生します。次に、Eclipse の Android プロパティ ダイアログに移動すると、ライブラリ プロジェクトがリストされている下部のセクションで、ライブラリ プロジェクトの横に赤い X が表示されます。それを削除して再度追加すると、project.properties の相対パスが修正され、すべてが正常に戻ります。

これは一種の迷惑です。それに対処する方法はありますか?注: 私が説明した相対パスへの変更は正しいですが、これが Eclipse ワークスペース内のプロジェクトの相対位置に関連しているという理論にすぎません。これは偶然の一致である可能性があります。

4

1 に答える 1

1

これは既知の問題であり、現在対応中です。

https://github.com/rgladwell/m2e-android/issues/76

于 2012-06-11T11:28:00.117 に答える