2017-11-17 3 views
1

は現在ButterKnifeとダガー2つの競合

compile "com.google.dagger:dagger:2.0.1" 
apt "com.google.dagger:dagger-compiler:2.0.1" 

compile "com.jakewharton:butterknife:8.8.1" 
apt 'com.jakewharton:butterknife-compiler:8.8.1' 

を持っていると私はそれが動作コンパイルを使用するために、両方の短剣文を切り替えた場合、結果として私のプロジェクトは

import com.google.common.base.Charsets; 
import com.google.common.io.CharStreams; 

を見つけることができませんが、その後のすべて私のrobolectricテストは失敗します。誰にもアドバイスはありますか?

+0

これはどちらですか?一般にどちらか一方を選択します。 –

+0

どちらも?各設定はそのドキュメントで推奨されているものです – 1tSurge

+0

通常は2つの注入フレームワークを使用しません。通常はどちらか一方が –

答えて

0

解決策:IDEでannotationProcessingを有効にすると、たくさんのものが壊れてしまいますが、無効にするとすべて機能します。

0

あなたはかなり古くなった依存関係を持っています。少なくとも2.x android gradle pluginは、Hugoのaptプラグインを時代遅れにします。また、Daggerのバージョンは2.13に近づいています。

これらの2つのインポートは、ダガーコンパイラに推移的に依存するGuavaライブラリからのものです。

ちょうどtestCompile "com.google.guava:guava:23.0"を追加してください。あなたがGuavaバージョンとの衝突を除いて解決される可能性が最も高く、その解決策を更新する必要があります。

関連する問題