2017-01-20 32 views
0

Android应用程序使用使用“com.google.gson.Gson”的库(aar模块)。图书馆在其的build.gradle如下:为什么Android应用程序项目必须包含库使用的软件包

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' 

任何人都可以对此有所了解?

[编辑]

的文库与the standard procedure即所谓的“androidLibrary释放”应用程序下创建的文件夹中。以下行已添加到应用程序的build.gradle:

compile project(':androidLibrary-release') 
+0

你可以指定库吗? – mayosk

+0

“Android应用程序使用库” - 如何?该库是否发布为Maven风格的回购,并且该应用是从那里引用它的?该库是否正在被'compile project(':modulename')'使用?你在做别的事吗? – CommonsWare

+0

是的,库被编译项目(':modulename')使用。 @mayosk我将通过添加库的使用方式来编辑帖子。 – Hong

回答

1

库不包括它们的依赖关系。开发人员必须将它们包含在实现它们的应用程序模块中。但是,如果这个库来自Maven repo,那么可以包含关于库使用哪些依赖关系的信息,并且在构建项目时将获取这些信息。

+0

感谢您的回复。该应用不直接使用com.google.code.gson:gson。只有一些图书馆使用它。 – Hong

+0

@你需要添加依赖项才能正常工作。 –

+0

这有点奇怪,因为这个库有许多其他的依赖关系。只有当应用程序使用应用程序中未包含的依赖项使用库的方法时,该应用程序才会崩溃。这意味着应用程序将依靠崩溃来确定应该添加哪些附加依赖项。 – Hong

相关问题