2014-10-03 90 views
0

我在Android工作室和gradle中有一些問題... 首先,我應該提及的是,我下載了IFixit android project這是開源的,並在我的項目中導入它的一部分,但有些事情是錯的。當我在我的項目中添加依賴關係,併爲Failng To Find !!!構建Gradle導致錯誤!例如下面是其中兩個:Android工作室,構建gradle未能找到依賴關係

compile "com.github.chrisbanes.pulltorefresh:pulltorefresh:2.1.2" 
compile 'com.marczych.androidsectionheaders:androidsectionheaders:1.0.0' 

我通過更改名稱解決了一些錯誤,但上面的文件不工作!對我來說奇怪的是,我的build.gradle文件使用jcenter()存儲庫,但IFixit使用mavenCentaral(),實際上我不知道它有什麼區別!我將mavenCentral()添加到我的存儲庫,但沒有發生任何事情!

我改變第一個鏈接到:

compile "com.github.chrisbanes.pulltorefresh:library:2.1.1" 

和gradle這個構建成功地,但我的活動課不能解決進口這樣的:

import com.handmark.pulltorefresh.library.PullToRefreshBase; 

和doenst知道的類!

我要指出,我使用Android工作室v0.8.6和gradle這個:0.13 +(2.1),併爲我的項目所需最小的SDK 4.0

有什麼辦法解決我的問題和進口依存度沒有錯誤? 我歡迎任何建議... 在此先感謝...

UPDATE(解決方案):

我通過添加下面一行到我的倉庫解決了這個問題:

maven { 
    url 'https://raw.github.com/iFixit/ark/master/releases/' 
} 
+0

運行Gradle時得到的錯誤是什麼? – JBaruch 2014-10-05 08:38:17

+0

這是錯誤:錯誤:無法找到:com.github.chrisbanes.pulltorefresh:pulltorefresh:2.1.2 – Evil 2014-10-05 10:57:25

+0

@魔鬼從哪裏得到該maven網址? – mahesmohan 2015-01-14 09:04:07

回答

0

你應該當你指定你需要的依賴的版本時,嘗試使用'+'符號,這會讓你獲得可用的「最新」版本。

例如

compile "com.github.chrisbanes.pulltorefresh:library:2.+"都可以獲得最新的2.x版 compile "com.github.chrisbanes.pulltorefresh:library:+"都可以獲得最新的一個速效XX版本

然而,這並不很「推薦」對於那些不斷更新回購項目由於不穩定可能出現並影響項目,因此每晚都會建立,但有時可能會「確定」。

最好。

+0

我嘗試了你的建議,並且gradle構建成功,但是有一個問題,那就是活動中有錯誤,說:無法解析符號:import com.handmark.pulltorefresh .library.PullToRefreshListView ...實際上它不能解決像PullToRefreshListView類! – Evil 2014-10-03 18:28:04

+0

我已經檢查過你使用的這個庫,在它的網站上https://github.com/chrisbanes/Android-PullToRefresh它表明它不再被維護,正如我所說的使用+不推薦,因爲它可能會下載越野車每晚建立,這很可能是你的情況。我建議你搜索一個實際上正在維護的替代庫。這就是說,問題不在於你的gradle,而是缺乏對這個pulltorefresh庫的維護 – Jorch914 2014-10-03 20:06:10

+0

謝謝,但正如我所提到的,我重用了github的一個開源項目,並且該項目使用該庫!並且它不應該是錯誤的,因爲該項目仍然可用... – Evil 2014-10-03 20:29:19

0

展望錯誤的東西數量脫穎而出:

  1. com.handmark.pulltorefresh.library.PullToRefreshBase類不在com.github.chrisbanes.pulltorefresh:library但在com.github.chrisbanes.pulltorefresh:sample
  2. pulltorefresh沒有2.1.2的發佈版本。最新的是2.1.1

此基礎上,我建議你加入這兩個com.github.chrisbanes.pulltorefresh:librarycom.github.chrisbanes.pulltorefresh:library(也許com.github.chrisbanes.pulltorefresh:extras以及)到你的依賴,所有的2.1.1版本。應該可以做的伎倆。

+0

謝謝你的回答,我在2.1.1版本中添加了三個庫(:library,:sample,:extras),並且gradle build沒有任何錯誤,但問題在於類PullToRefreshBase和PullToRefreshListView無法解析:(這兩個類在哪裏?(我爲它們添加導入語句,但不能解析導入!) – Evil 2014-10-05 12:25:54

+0

'PullToRefreshBase'類駐留在'sample'中。如果構建通過,則表示您的類路徑是正確。嘗試刷新Gradle同步,應該解決它。 – JBaruch 2014-10-05 12:35:50

+0

它說包不存在:(我不能導入PullToRefreshBase'import com.handmark.pulltorefresh.library.PullToRefreshBase;'... – Evil 2014-10-05 13:24:05

相關問題