Android Studio中的compile fileTree和Complile jar有什么区别?

D.S*_*chi 5 dependencies android gradle

这不是编码错误。这只是关于Android Studio的用法。我试图用谷歌搜索并找到适当的解决方案,但没有。

在Android Studio项目中,lib文件夹中有XYZ.jar文件。我可以在gradle中按如下方式使用它进行编译。

compile fileTree(include: ['*.jar'], dir: 'libs')
Run Code Online (Sandbox Code Playgroud)

然后我也可以添加相同的文件作为依赖项。

文件->项目结构
从模块
依赖关系中选择应用程序-> +文件依赖关系

然后摇篮改变如下

compile files('libs/XYZ.jar')
Run Code Online (Sandbox Code Playgroud)

这些compile fileTree和compile文件有什么区别

如果我们将jar添加为依赖项,它将与生成的APK一起使用吗?

Laz*_*ana 2

(几乎)一切都可以在 Gradledocs 中找到

FileTree 表示文件的层次结构。它扩展了 FileCollection 以添加层次结构查询和操作方法。您通常使用 FileTree 来表示要复制的文件或存档的内容。

在这里您可以阅读您所要求的任何内容,files()包括fileTree() https://docs.gradle.org/3.5/javadoc/org/gradle/api/file/FileCollection.html


总而言之,您可以将目录.jar中的任何工件libs或特定工件包含到编译配置中。