3

私は例としてcrashlyticsを使用しています。transitive = trueの@aarの意味

ものだと、あなたはGradleの依存関係に[email protected]表記法を使用している場合、それは「私だけこのアーティファクトなし推移依存関係を取得する」という意味

compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { transitive = true; } 

compile 'com.crashlytics.sdk.android:crashlytics:2.6.8' 
+0

私はそれがここで回答されて推測:crashlyticsがあった場合には

は何の違いはありませんhttps://stackoverflow.com/questions/31731014/what-does-transitive-true-in-gradle –

+0

私はそれを読んでいますが、 "既存のモジュール記述子は無視されます"はっきりしていません。衝突記述の場合、どのモジュール記述子が無視されますか? – Xan

+0

これは、aarアーティファクトのみをダウンロードし、依存関係はダウンロードしないことを意味します。 –

答えて

4

との違いです。 transitive = trueを追加設定することにより、その事実にもかかわらず推移的な依存関係をフェッチしています。

最初のバージョンでは依存関係のあるaarが得られます。第2版は常にjarが存在し、それ以外は依存関係はありません。 configurations.compile.each { println it }を追加すると、構成内の実際のファイルが出力されます。違いが分かるはずです。

compile 'com.crashlytics.sdk.android:crashlytics:2.6.8' 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/crashlytics/2.6.8/2f667ae0609d82045cbe602d38df3fbf2c9528dd/crashlytics-2.6.8.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/beta/1.2.5/f73d30657bb44ecb79d434a4ae3fb7d887371d84/beta-1.2.5.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/io.fabric.sdk.android/fabric/1.3.17/85fc9aae9009f6fb2beaf23fa0ce1ae13f124413/fabric-1.3.17.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/crashlytics-core/2.3.17/f3bed4c297be8d30dc5aa7f18b06dff75435bde4/crashlytics-core-2.3.17.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/answers/1.3.13/83dc1dd439c7da04ce9705f18037fe7551ae06bc/answers-1.3.13.aar 

compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { transitive = true; } 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/crashlytics/2.6.8/2f667ae0609d82045cbe602d38df3fbf2c9528dd/crashlytics-2.6.8.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/beta/1.2.5/f73d30657bb44ecb79d434a4ae3fb7d887371d84/beta-1.2.5.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/io.fabric.sdk.android/fabric/1.3.17/85fc9aae9009f6fb2beaf23fa0ce1ae13f124413/fabric-1.3.17.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/crashlytics-core/2.3.17/f3bed4c297be8d30dc5aa7f18b06dff75435bde4/crashlytics-core-2.3.17.aar 
/home/xan/.gradle/caches/modules-2/files-2.1/com.crashlytics.sdk.android/answers/1.3.13/83dc1dd439c7da04ce9705f18037fe7551ae06bc/answers-1.3.13.aar 
+0

私はチェックします、どこに階調線を置く必要がありますか? – Xan

+0

ビルドスクリプトの最後に置いてください。十分なはずで、あなたが呼び出すタスクに関係なく、常に実行されます。行を追加した後に 'gradlew help 'を実行してください。 – Vampire

+0

jcenterまたはmavencentralにある成果物を確認する方法はありますか? – Xan