2017-05-28 3 views
0

私はプロジェクトに取り組んでおり、消費者のために最小限の統合作業を提供するために、すべてのコアAndroidフレームワークAPIを使用しなければなりませんでした。それは私の人生を楽にするためにそこに利用可能なアンドロイドライブラリの多くがありますが、私は追加の依存関係を使用していないと言われています。しかし、最近私はAndroid annotation libraryの使用を考えていました。それを使用するには、ドキュメントにプロジェクトに含めるように依頼します。私の知識からアンドロイドライブラリプロジェクトのライブラリを使用して、私の消費者の依存関係の問題を避ける

dependencies { compile 'com.android.support:support-annotations:24.2.0' }

彼らは私のライブラリを使用する場合、これは(彼らが必要としない場合があります)私の消費者がライブラリをdownlandことを余儀なくようになります。誰も私の消費者のための図書館を含まないことを達成するためのより良い習慣があるが、自分のプロジェクトの範囲だけがあれば教えてくれますか? UPDATED


を私はちょうど公式ドキュメントからこれらの2行を見つけたと思います。

If you use annotations in your own library module, the annotations are included as part of the Android Archive (AAR) artifact in XML format in the annotations.zip file. Adding the support-annotations dependency does not introduce a dependency for any downstream users of your library.

しかし、私はまだ一般的な依存関係の問題とどのように我々はただのライブラリである場合に、依存関係を処理するために、好奇心です。

答えて

0

一般に、使用しているライブラリをライブラリのユーザーが使用できるようにすることは問題ありません。 いくつかのライブラリに一般的な依存関係が必要な場合は、apkのサイズを小さくしたい場合は、コードを1回だけ追加する方がよいでしょう。 また、ライブラリのユーザーが推移的な依存関係を含むことを望まない場合は、exclude optionを依存関係宣言に追加することができます。あなたはまた、ensure that the transitive dependency has the same version among your libraries

は、言い換えれば、私は、ユーザーが、彼らは推移的依存関係を望むかどうかを決定するための電力を聞かせすることができ、いくつかのライブラリを提供するためにhapenとき

その他の場合です。

関連する問題