2016-05-10 3 views
2

私はこのgradleに特定のappcompat-v7バージョンを強制的に適用させるにはどうすればいいですか?私のGradleファイルで

dependencies { 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.0.0' 
    compile 'com.android.support:design:23.0.0' 
      ... 
} 

を持っている。しかし、その後、gradle dependenciesを実行すると、私はそれが自動的に23.1.1を使用していることを示し何月この

+--- com.android.support:appcompat-v7:23.0.0 -> 23.1.1 
| \--- com.android.support:support-v4:23.1.1 

のようなものを参照してください。これは、23.0.0に応じてライブラリの問題を引き起こします。私はこれは私がagains 23.0.0を構築するためのGradle強制することができますので、私は依存関係を幸せにどのバージョン23.1.0

のため、これらのシンボルwere removedである。このようなエラー

error: cannot find symbol variable dialog_fixed_height_major

error: cannot find symbol variable dialog_fixed_height_minor

error: cannot find symbol variable dialog_fixed_width_major

error: cannot find symbol variable dialog_fixed_width_minor

error: cannot find symbol variable RtlOverlay_Widget_AppCompat_ActionButton_Overflow

を取得しますか?

答えて

2

「問題」は、Gradles競合解決戦略です。依存関係は、ライブラリの新しいバージョンによって異なります。 dependenciesの出力を下にスクロールすると、どちらが表示されます。

Gradleのデフォルトの解決策は、最新の要求バージョンを使用することです。代わりにビルドに失敗するように変更することができます。つまり、すべてのバージョンの競合を手動で解決する必要があります。しかし、新しいバージョンに依存するものがある場合、それは古いバージョンで動作するかどうかです。

Gradle User Guideで競合解消の詳細を読むことができます。

関連する問題