2017-01-20 35 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

相關問題