Gradle依赖版本后缀

时间:2019-06-06 03:37:58

标签: gradle

在我的gradle构建脚本中,我有以下内容

dependencies {
    compile 'foo.bar:beef:1.2.3@aar'
}
  1. 后缀aar是什么意思?
  2. 使用compile 'foo.bar:beef:1.2.3@aar'compile 'foo.bar:beef:1.2.3'有什么区别

2 个答案:

答案 0 :(得分:1)

documentation

  

@字符将依赖项的坐标与工件的文件扩展名分开。

所以这个:

dependencies {
    compile 'foo.bar:beef:1.2.3@aar'
}

等效于此:

dependencies {
    compile(group: 'foo.bar', name: 'beef', version: '1.2.3', extension: 'aar')
}

如果未指定,则默认扩展名为'.jar'。

答案 1 :(得分:0)

请检查以下链接:

Why should I include a gradle dependency as `@aar`

在这里您可以注意到gradle中将其表示为“ aar”,而在其他Java开发框架中,则将其表示为“ .jar”。因此,后缀“ aar”不过是档案。

Jar和AAR之间的主要区别在于AAR包含布局,可绘制对象等资源。这使创建独立的可视化组件变得容易得多。例如,如果您有多个使用同一登录屏幕的应用程序,并且可以使用Jars共享类,但不能共享布局,样式等,则仍然必须复制它们。使用AAR,所有内容都捆绑在一个整齐的软件包中。