我正在解决另一个问题,即让我的build.gradle了解Android项目中的工作区项目依赖项。我已经使用Java和Android一段时间了,我仍然很容易混淆添加依赖项的所有不同方法。一种方法是将.jar文件放在libs /文件夹中。另一种方法是拥有工作区项目依赖项。另一种方式(如果使用Android)是在Android选项菜单中添加项目依赖项?我觉得如果我真正理解为什么存在这些不同的依赖关系以及它们如何工作,我可能不会经常遇到管理依赖关系的问题(即使使用Gradle)。为什么在libs /文件夹中需要项目依赖而不是普通的.jar?我甚至不确定项目依赖项本身是如何工作的。根据项目依赖性,我的意思是像我必须导入Eclipse工作区的Google Play Services项目。导入Eclipse时,它不会将实际目录复制到工作区中,但它更像是指向目录的链接。我知道这是一个很大的话题,也许有人可以告诉我一个简明的地方获取信息。
答案 0 :(得分:0)
一般而言,如果您将jar添加到lib
文件夹,它(通常)将与其余代码一起打包。项目依赖项添加了编译时依赖项,但(正如您已经说过的)它将不会打包到您的构建中。但是,必须在运行时满足该依赖性(例如,Google Play服务必须存在于运行代码的设备上)。除此之外,gradle保持"它自己的一组依赖关系"能够构建应用程序而不依赖于您正在使用的IDE。但是大多数IDE都与构建工具很好地集成,因此它们会自动同步IDE项目依赖项之间的依赖关系,并构建工具的依赖关系。我希望这是有道理的:)