2

Loggly (ロギング Web サービス) をラップするサードパーティ ライブラリをアプリケーションで使用しようとしています。

アプリ全体で Retrofit2 を使用しましたが、Loggly をラップするすべてのサードパーティ ライブラリは古い Retrofit 1.9.0 を使用しています。

これらのライブラリは、2.0.0 ではなく Retrofit 1.9.0 にのみ存在するクラスにアクセスしようとしているため、これらのライブラリから ClassNotFoundException を受け取り続けています。

私はそれを簡単な方法で解決しようとしています.Retrofit 1.9.0とRetrofit 2.0.0の両方をプロジェクトに追加していますが、残念ながらgradleはこれをサポートしていないようです.

ここでの問題は、同じライブラリの 2 つの異なるバージョンを build.gradle ファイルに追加する方法です。

4

1 に答える 1

1

おそらく、loggly サービス用の新しいモジュールを作成し、インターフェイス経由でアクセスする必要があります。つまり、メイン アプリは引き続きレトロフィット 2 に依存し、loggly を使用した新しいモジュールにはレトロフィット 1 を使用した独自の gradle ビルドが含まれます。

このアプリでは、プレゼンテーション - ドメイン (MVC) 構造を使用します。これは、ネットワーキングが独自のモジュールにあることを意味します。つまり、依存する独自の実装、インターフェース、および gradle 依存関係を持つレトロフィット 1 およびレトロフィット 2 モジュールがある可能性があります。次に、ドメイン層がこれらのモジュールを参照します。

お役に立てて嬉しいです!。

于 2016-03-08T09:49:43.947 に答える