在我的gradle构建脚本中,我有以下内容
dependencies {
compile 'foo.bar:beef:1.2.3@aar'
}
aar
是什么意思? compile 'foo.bar:beef:1.2.3@aar'
与compile 'foo.bar:beef:1.2.3'
有什么区别答案 0 :(得分:1)
@字符将依赖项的坐标与工件的文件扩展名分开。
所以这个:
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,所有内容都捆绑在一个整齐的软件包中。