私はAndroid Libraryプロジェクトで作業しており、Picassoをライブラリに追加したいと考えています。 私は別のライブラリがこれを行うために異なるアプローチを使用することに気付きました:第三者のライブラリ依存関係をAndroidライブラリに追加する
- いくつかのライブラリはいくつかのライブラリのような(通常のダイナミックのGradleまたはPOMの依存関係を使用(Glide libでgif_encoderとgif_decoder図書館のような)静的ライブラリの依存関係
- を使用PicassoはOKHttpを使用するか、WireはRetrofitとRxJavaを使用します)。私はいくつかのライブラリは、だから、(のようなRxAndroidがRxJavaを使用しています)ターゲットライブラリと一緒にいくつかのlibに
を明示的な依存関係を追加する必要が+記号(のような2.3.3+)でマークされ、ここでダイナミックなバージョン
を私の視点から。これを行うことによって、目的を達成するために使用しているものをエンドユーザーに透明にします。ユーザーが依存関係を一緒にインポートするようにすると、ライブラリをインポートするプロセスや、ユーザーがインポートしない場合のエラーにも複雑さが加わります。しかし、ユーザーがモジュールが使用するライブラリの別のバージョンを使用している場合、その2つのモジュール間で競合が発生する可能性があるため、ユーザーはそれらをgradleファイルで解決する必要があります。 –