2

我是一個在android開發的初學者,我現在真的堅持實施actionbarsherlock。我知道這已經在之前討論過了,但我對於依賴和如何設置項目結構感到非常困惑。我試着按照所有說明操作,但沒有解決。我一直在用gradle得到一個不同的問題。我正在使用Android Studio 0.2.0。實現ActionBarSherlock,gradle錯誤

我現在的錯誤說:

>Gradle 'MyAppProject' project refresh failed: 
>Could not fetch model of type 'IdeaProject' using Gradle distribution "http://services.gradle.org/distributions/gradle-1.6-bin.zip". 
>Error: Gradle: A problem occurred configuring project ':MyApp'. 
>Failed to notify project evaluation listener. 
>A problem occurred configuring project ':Libraries:ActionBarSherlock'. 
>Failed to notify project evaluation listener. 
>Main Manifest missing from C:\Users\JJ2\AndroidStudioProjects\MyAppProject\Libraries\ActionBarSherlock\src\main\AndroidManifest.xml 

我的項目是建立如下:

-MyAppProject 
|+.idea 
|+gradle 
|-Libraries 
||-ActionBarSherlock 
|||+gen 
|||+libs 
|||+res 
|||-src 
||||-android.support.v4.app 
|||||-Watson 
||||+com.actionbarsherlock 
|||-ActionBarSherlock.iml 
|||-AndroidManifest.xml 
|||-build.gradle 
|||-lint.xml 
|||-pom.xml 
|||-project.properties 
|||-README.md 
|-MyApp 
||+build 
||+libs 
||-src 
|||-main 
||||-java 
|||||+com.mywebsite.myapp 
||||+res 
||||-AndroidManifest.xml 
||||-ic_launcher-web.png 
||-build.gradle 
||-MyApp.iml 
|-build.gradle 
|-gradlew 
|-gradlew.bat 
|-local.properties 
|-settings.gradle 
|-MyAppProject.iml 
-External Libraries 
|-<Android 4.2.2> 
||+android.jar 
||+annotations.jar 
||+res 

中的build.gradle在MyAppProject目錄內容:

task assemble{} 

的build.gradle在MyApp目錄中:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.0' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile project(":Libraries:ActionBarSherlock") 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 17 
    } 
} 

而在圖書館\ ActionBarSherlock目錄中的build.gradle:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.0' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile files('libs/android-support-v4.jar') 

} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 17 
    } 
} 

最後,我的項目結構如下所示:

模塊

-ActionBarSherlock (Dependencies: Android 4.2.2, [v]android-support-v4) 
    -Android 
-MyApp    (Dependencies: Android 4.2.2, [ ]ActionBarSherlock) 
    -Android 
    -Android-Gradle 
-MyAppProject  (Dependencies: Android 4.2.2) 
    -Android-Gradle 

None 

全球圖書館

-android-support-v4 (Classes: ...\MyAppProject\MyApp\libs\android-support-v4.jar) 

我希望有人能發現任何錯誤的代碼,雖然很多人看來,因爲新的Android Studio發行已經uresolved問題。 在此先感謝!

回答

3

頂級目錄settings.gradle:

include ':MyApp', ':Libraries:ActionBarSherlock' 

包括任何其他庫您可以輸入您的項目

頂級目錄的build.gradle: 其好與組裝任務{}

Actionbar sherlock build.gradle

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile 'com.android.support:support-v4:13.0.0' 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 16 
    } 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 
    } 
} 

同樣,gradle這個版本設置的所有.gradle文件: 更換到處gradle這個版本:

classpath 'com.android.tools.build:gradle:0.5.+' 

的Android工作室2.x使用gradle這個0.5.x,並且通過使用+你會保持你的gradle最新(他們在2天之前更新它,我們有頻繁的更新! )

你的gradle設置現在會好起來的! 注1: iml./idea文件中可能會出現其他任何錯誤...您可以嘗試在Studio的項目設置中更改它們,例如爲每個模塊(sherlock,MyApp)設置源文件,它們的庫等等!

注2: 此外,如果你使用的是一些其他庫,這需要更高版本的SDK比你的應用程序,你可以得到一個錯誤,W/O的解釋!

+0

非常感謝您的回覆!我忘記了包含settings.gradle內容,就像你所描述的那樣。其他評論可能確實是必要的。不幸的是,我開始與項目設置 - >搖籃搞亂,現在我不斷收到一個錯誤信息說: 搖籃「WallPainterProject」項目刷新失敗:無法從「http://services.gradle.org/distributions/安裝搖籃分佈gradle-1.6-bin.zip」。 Gradle distribution'C:\ Users \ JJ2 \ .gradle \ wrapper \ dists \ gradle-1.6-bin \ 72srdo3a5eb3bic159kar72vok'包含太多目錄。預計會找到完全1個目錄。 –

+1

我似乎無法找到正確設置gradle屬性的示例。如果您或其他人能夠發佈正常設置的示例以及Gradle所在的目錄,我將非常感激。 我會給你一個+1,但我還沒有收集足夠的業力,但哈哈。 –

+0

歡迎您!要進行正常的設置,只需創建一個新的空白項目,並在上面張貼的.gradle更改。我遇到了一些關於gradle安裝的問題(它沒有完全下載gradle二進制文件)......我去了你寫的目錄,並刪除了一些鎖和損壞的文件!轉到這裏:http://services.gradle.org/distributions/gradle-1.6-bin.zip,下載它,然後轉到gradle1.6-bin/72 .... /目錄,然後粘貼它,然後提取它!它現在工作嗎? – Paschalis