我的Android项目中有gradle依赖项配置:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.appsflyer:af-android-sdk:4.8.0@aar'
provided 'com.segment.analytics.android:analytics:4.+'
}
但是我可以在没有compile 'com.appsflyer:af-android-sdk:4.8.0@aar'
@aar
行
compile 'com.appsflyer:af-android-sdk:4.8.0
从Appsflyer文档中他们告诉我们使用@aar
,但由于我是新手,因此{/ 1}}后缀是否有任何区别?因为它看起来像两种情况都有效
答案 0 :(得分:1)
使用@aar
表示法表示您只想下载aar工件,无依赖项。
您可以查看documentation的这一部分:
查看Artifact only notation
部分:
仅工件表示法创建模块依赖项,该依赖项仅下载具有指定扩展名的工件文件。 忽略现有模块描述符 ..
如果要下载依赖项,请使用@aar
表示法,添加transitive=true
。
答案 1 :(得分:0)
AAR是Android库文件
请参阅docs
' @ aar'表示gradle应该下载AAR文件而不是JAR文件。在这种情况下,我的猜测是该库的提供者将请求转发给AAR文件,无论是' @ aar'是否添加。