2017-09-10 74 views
3

所以當我試圖更新我的build.gradle依賴關係時,我發現自己在撓撓頭。 com.android.support:appcompat庫版本26.0.2未解決。經過一番搜索之後,我得知我必須將Google的Maven存儲庫添加到我的項目gradle文件中的存儲庫列表中。所以現在列出了Google的maven倉庫和jcenter()。爲什麼Google Maven存儲庫存在,我應該在什麼時候使用它?

那麼,爲什麼谷歌現在託管自己的Maven倉庫,有什麼理由不使用它?奇怪的是,圖書館在兩個地方都有不同的版本。

+0

有什麼問題?存在許多不同的存儲庫,只需使用您需要的存儲庫。它對你的應用沒有任何影響 –

+0

這是一個「問題」,因爲它很混亂。由Android Studio生成的模板項目沒有添加谷歌的Maven倉庫,因此我想知道爲什麼我不能使用定位API 26所需的appcompat庫。但是我明白你的觀點。 – ardevd

回答

3

建立一個Android應用程序時,有在玩幾個倉庫:

  • jcenter()用於開源庫衆多,包括Android插件搖籃。

  • google()(又名,maven.google.com)用於支持庫,架構組件等。對於支持庫,您需要使用此存儲庫來獲取26.0.0及更高版本。

  • 由SDK Manager安裝在您的硬盤驅動器上的Android存儲庫適用於引入maven.google.com之前的支持庫。

  • 許多其他託管存儲庫(jitpack.io,我的CWAC存儲庫等)。

其奇怪的是,庫託管在不同版本的兩個地方。

我不知道maven.google.com是否也支持Android庫中的庫版本。否則,大致來說,maven.google.com是Android Repository的新託管版本,用於未來更新版本的庫。

我還不確定Play Manager依賴關係安裝的SDK庫管理器的Google Repository是否被maven.google.com所取代。

爲什麼谷歌現在託管自己的Maven倉庫

你必須要問谷歌。對於簡單的構建,Android Repository是可以的,但在更復雜的場景中(例如,在無頭CI服務器上構建)會變得非常痛苦。使用普通的託管Maven倉庫應該簡化這些事情。

由Android Studio生成的模板項目didnt

您使用的是Android 2.3.3工作室或以上的加谷歌的Maven倉庫。 Android Studio 3.0及更高版本的模板將爲您添加google()

相關問題