2013-09-21 165 views
4

我有這樣的目錄結構:相對搖籃項目依賴與HoloEverywhere

Project 
    contrib/ 
     holo-everywhere 
      library 
      addons/ 
       slider 
       preferences 
    app-library 
    app-one 
    app-two 
    settings.gradle 

我settings.gradle看起來像這樣

include 'contrib:holo-everywhere:library' 
include 'contrib:holo-everywhere:addons:preferences' 
include 'contrib:holo-everywhere:addons:slider' 
include 'app-library' 
include 'app-one' 
include 'app-two' 

contrib:holo-everywhere:addons:preferences取決於contrib:holo-everywhere:library

dependencies { 
    compile project(':contrib:holo-everywhere:library') 
} 

contrib:holo-everywhere:library構建成功,當contrib:holo-everywhere:addons:preferences正在修建我得到一些不清楚的錯誤。

:contrib:holo-everywhere:addons:preferences:compileLint 
:contrib:holo-everywhere:addons:preferences:copyReleaseLint UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:mergeReleaseProguardFiles UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:packageReleaseAidl UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:preBuild UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:preReleaseBuild UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:preDebugBuild UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:preTestBuild UP-TO-DATE 
:contrib:holo-everywhere:addons:preferences:prepareMdAndroidContribHoloEverywhereLibraryUnspecifiedLibrary FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem was found with the configuration of task ':contrib:holo-everywhere:addons:preferences:prepareMdAndroidContribHoloEverywhereLibraryUnspecifiedLibrary'. 
> File '/home/project/contrib/holo-everywhere/library/build/libs/library.aar' specified for property 'bundle' does not exist. 

我種得到的感覺是,問題就在這裏:

dependencies { 
    compile project(':contrib:holo-everywhere:library') 
} 

這是定義依賴正確的方法是什麼?

更新: 添加holo-everywherebuild.gradle內容。

buildscript { 
    repositories { 
    mavenCentral() 
    } 

    dependencies { 
    classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 

allprojects { 
    group = 'org.holoeverywhere' 
    version = '2.0.0-SNAPSHOT' 

    repositories { 
    mavenLocal() 
    mavenCentral() 
    maven { 
     url "https://github.com/Prototik/HoloEverywhere/raw/repo" 
    } 
    } 

    tasks.withType(Compile) { 
    options.encoding = "UTF-8" 
    } 
} 

apply plugin: 'android-reporting' 
+0

您是否在指定路徑中看到文件'library.aar'?或者它可能在那裏,但它的名字中有一個版本號? –

+0

是的,它'library.aar'在那裏,它的名字中有版本號。 –

+0

我更新了另一個版本定義的build.gradle文件的問題。什麼是正確的方式來定義特定的項目依賴版本? –

回答

1

有些人在allprojects部分與android-plugin使用版本號時,有reported a similar problem。可能是該插件中的一個錯誤。嘗試刪除版本以查看它是否改變了任何內容。

+1

似乎是這種情況。我之前刪除了它,但我認爲我通過刪除版本來做錯了:) –

+0

我添加了一個似乎與gralde2.2.1一起使用的答案,但與android studio 1.0.2不兼容 – k3b

0

該設置與gradle這個2.2.1,但不與androidstudio 1.0.2(還)

項目/ settings.gradle(定義哪些模塊屬於項目):

include 'contrib/holo-everywhere/library' 
include 'contrib/holo-everywhere/addons/preferences' 
include 'contrib/holo-everywhere/addons/slider' 
include 'app-library' 
include 'app-one' 
include 'app-two' 

,如果你要在項目/使用了contrib /全息無處不/庫的應用程序,一個/的build.gradle

更換

dependencies { 
    compile project(':contrib:holo-everywhere:library') 
} 

dependencies { 
    compile project('library') 
} 

您可以

cd \path\to\Project 
gradlew --gui 

測試這個不幸的是,這並不在settings.gradle工作(與gradle這個2.2.1)

include '../commonLibraries/mylib' 

AndroidStudio貴和gradle這個-gui可以解釋但不能編譯這個

project/settings.gradle(define whi通道模塊屬於項目):

include 'contrib:holo-everywhere/library' 
include 'contrib:holo-everywhere/addons/preferences' 
include 'contrib:holo-everywhere/addons/slider' 
include 'app-library' 
include 'app-one' 
include 'app-two' 

項目/應用程序,一個/的build.gradle

dependencies { 
    compile project('library') 
    compile project('library') 
    compile project('preferences') 
    compile project('slider') 
    compile project('app-library') 
} 
0

我在我的項目有同樣的問題,我解決了,當我意識到我的AAR文件間沒有在他們應該在的文件夾裏面。所以我將缺少的AAR文件添加到它們各自的文件夾中。

在切換分支時,AAR文件沒有被忽略,所以我試圖gradlew build該項目沒有成功。