为什么Android应用程序项目必须包含库使用的包

为什么Android应用程序项目必须包含库使用的包,android,android-library,Android,Android Library,Android应用程序使用一个使用com.google.gson.gson的库aar模块。该库的build.gradle中包含以下内容: compile 'com.google.code.gson:gson:2.6.2' compile 'com.google.code.gson:gson:2.6.2' 应用程序构建良好,但启动时会生成以下错误: Failed resolution of: Lcom/google/gson/Gson; 解决此问题的唯一方法是向应用程序的build.grad

Android应用程序使用一个使用com.google.gson.gson的库aar模块。该库的build.gradle中包含以下内容:

compile 'com.google.code.gson:gson:2.6.2'
compile 'com.google.code.gson:gson:2.6.2'
应用程序构建良好,但启动时会生成以下错误:

Failed resolution of: Lcom/google/gson/Gson;
解决此问题的唯一方法是向应用程序的build.gradle添加相同的编译行:

compile 'com.google.code.gson:gson:2.6.2'
compile 'com.google.code.gson:gson:2.6.2'
有人能解释一下吗

[编辑]

该库被添加,并在名为androidLibrary release的应用程序下创建了一个文件夹。以下行已添加到应用程序的build.gradle中:

compile project(':androidLibrary-release')

库不包含它们的依赖项。开发人员可以根据需要将它们包含在实现它们的应用程序模块中。但是,如果此库来自Maven repo,则可以包含库使用的依赖项的信息,以及在构建项目时将获取这些依赖项的信息。

您可以指定库吗?Android应用程序使用库-如何使用?库是否发布到Maven风格的repo,应用程序是否从那里引用它?编译项目“:modulename”正在使用库吗?您在做其他事情吗?是的,该库由编译项目“:modulename”使用@mayosk我将通过添加库的使用方式来编辑帖子。谢谢回复。该应用程序不直接使用com.google.code.gson:gson。只有库的某些类使用它。@如果希望它正常工作,您仍然需要添加依赖项。这有点奇怪,因为库还有许多其他依赖项。只有当应用程序使用库中未包含的依赖项的方法时,应用程序才会崩溃。这意味着应用程序将依赖崩溃来确定应该添加哪些附加依赖项。@好吧,它应该依赖正确的文档,而不是崩溃。如果答案有用,请将其标记为正确。@RobertoBetancourt您能提供您陈述的来源吗?!我也面临同样的问题,我想更好地了解背景。