2017-09-05 102 views
1

我的gradle有依賴的配置在我的Android項目:Gradle編譯依賴關係與/ out「@aar」有什麼區別?

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.appsflyer:af-android-sdk:[email protected]' 
    provided 'com.segment.analytics.android:analytics:4.+' 
} 

不過,我可以寫compile 'com.appsflyer:af-android-sdk:[email protected]'線沒有@aar

compile 'com.appsflyer:af-android-sdk:4.8.0 

從Appsflyer文檔他們告訴使用@aar但因爲我是新來的搖籃,是否有任何區別/出@aar後綴?因爲它看起來像在這兩種情況下作品

回答

0

AAR是一個Android庫文件

docs

的「@aar」表示gradle這個應該下載AAR文件,而不是JAR文件。在這種情況下,我的猜測是庫的提供者將請求轉發到AAR文件是否添加了「@aar」。

1

使用@aar表示法意味着您只想下載aar神器,而沒有相關性
可以檢查documentation這一部分:
檢查Artifact only notation部分:

神器只是符號創建模塊依賴其只下載與指定的擴展名的文件的神器。 現有模塊的描述被忽略 ..

使用@aar符號,如果你想下載的依賴,你應該添加transitive=true