1

現在、Gradle ベースの Android プロジェクトで問題が発生しています。私のプロジェクトには 2 つの依存関係があります。

compile project(':Library:lib1')
compile files('libs/libGoogleAnalyticsServices.jar')

libGoogleAnalyticsServicesは、Google アナリティクスのバージョン v3 です。

問題は、lib1 が Google アナリティクスのバージョン v2 に依存する古いライブラリであることです。

compile files('libs/libGoogleAnalyticsV2.jar')

最後に、両方の jar 間で競合が発生し (v2 が によってのみ表示される場合でもlib1)、v2 が v3 を引き継いでいます。私のメインモジュールでは、参照がありません。

だから2つの問題:

  • v2 がメイン モジュールから見えるのはなぜですか?
  • v2 が v3 を引き継ぐのはなぜですか?

lib1理想的には、v2は自分のモジュールからのみ表示され、v3 はメイン モジュールからのみ表示されるようにしたいと考えています。

何か案が?

4

1 に答える 1

0

私は Android についてよく知りませんが、状況は標準の Java アプリケーションと同じであると思います。アプリケーションごとに特定のライブラリの 1 つのバージョンしか使用できず、付属のすべてのコードを確認する必要があります。アプリケーションはそのバージョンと互換性があります。

于 2013-09-18T16:46:23.367 に答える