2013-06-03 6 views
14

Wir haben vor kurzem zu Android Studio (von Intellij) migriert. Ich versuche derzeit, unser Projekt zu migrieren, um Gradle für Builds zu verwenden. Ich habe versucht, es um unsere aktuelle Ordnerstruktur anzupassen, und ich habe versucht, unsere Dateien zu migrieren, um der Gradle-Dateistruktur zu entsprechen.Probleme beim Erstellen von Gradle Build

Ich hatte Fehler in jeder Hinsicht, ich habe nach einer Antwort gesucht, aber kann nichts finden, was ziemlich übereinstimmt, was wir bekommen.

Der Fehler, den ich bekommen, wenn sie der gradle Dateistruktur migrieren möchten, ist:

  • Was schief gelaufen ist:

    ist ein Problem aufgetreten Projekt Konfiguration ':'.

    Failed to notify project evaluation listener. Configuration with name 'default' not found

Der Fehler ich unsere alte Dateistruktur erhalten mit ist:

:<project>:processDebugResources 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:311: error: Error retrieving parent for item: No resource found that matches the given name '@style/Widget.Sherlock.ActionBar.Solid'. 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:312: error: Error: No resource found that matches the given name: attr 'background'. 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:314: error: Error: No resource found that matches the given name: attr 'backgroundSplit'. 

Irgendwelche Ideen auf, wo sie suchen müssen. Wir haben einige Verweise auf Bibliotheken wie ActionBarSherlock.

build.gradle

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

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile files('libs/retrofit-1.0.0-SNAPSHOT.jar') 
    compile project(':ThirdParty:ActionBarSherlock') 
    compile project(':ThirdParty:drag-sort-listview') 
    compile project(':ThirdParty:SlidingMenu') 
    compile project(':ThirdParty:Android-ViewPagerIndicator') 
} 


android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 17 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      resources.srcDirs = ['src'] 
      res.srcDirs = ['res'] 

     } 

     instrumentTest.setRoot('../UnitTests/src') 
    } 
} 

settings.gradle

include ':library:Android-ViewPagerIndicator',':library:SlidingMenu',':library:drag-sort-listview',':library:ActionBarSherlock',':<project>' 

würde geschätzt Irgendwelche Ideen.

Antwort

2

von Ihnen Abhängigkeiten suchen:

dependencies { 
compile files('libs/android-support-v4.jar') 
compile files('libs/retrofit-1.0.0-SNAPSHOT.jar') 
compile project(':ThirdParty:ActionBarSherlock') 
compile project(':ThirdParty:drag-sort-listview') 
compile project(':ThirdParty:SlidingMenu') 
compile project(':ThirdParty:Android-ViewPagerIndicator') 
} 

Sie sollten in Ihrem settings.gradle haben:
include ':ThirdParty:Android-ViewPagerIndicator' .... statt include ':library:Android-ViewPagerIndicator' ....

+0

Danke an alle, die geholfen haben. Ich habe das modifizierte Projektgebäude. Ich arbeite noch an dem, der der neuen Verzeichnisstruktur folgt. Wenn ich alle Abhängigkeiten entferne, funktioniert es.Sobald ich ActionBarSherlock hinzufüge, bekomme ich * Was schief gelaufen ist: Es ist ein Problem beim Konfigurieren des Projekts aufgetreten: ''. > Fehler beim Benachrichtigen des Projektauswertungs-Listeners. > Konfiguration mit dem Namen 'default' nicht gefunden. Hier – user2449336

+0

ist der Build für ActionBarSherlock buildscript { Repositories { Maven {url 'http://repo1.maven.org/maven2'}} Abhängigkeiten { Classpath 'com.android.tools.build:gradle:0.4' } } Plugin anwenden: 'android-Bibliothek' Abhängigkeiten { Dateien kompilieren ('libs/android-support-v4.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 16 } sourceSets { \t main { \t manifest.srcFile 'Bibliothek/AndroidManifest.xml' \t resources.srcDirs = [ 'Library/src'] \t res.srcDirs = [ 'Bibliothek/res ']}}} – user2449336

+4

Können Sie bitte Ihre Frage bearbeiten, anstatt kopieren Code in den Kommentaren zu kopieren, ist es nicht sehr klar, wie das – lukas

8

Sie erhalten diesen Fehler manchmal, wenn Gradle nicht das Standardprojektlayout verwenden kann, das vom Android-Plug-in definiert wurde. Es sieht so aus, als ob Sie versuchen, Ihre build.gradle so zu konfigurieren, dass sie das oldstyle-Layout verwendet, aber vergessen hat, einige Verzeichnisse einzubauen (nämlich java.srcDirs). Versuchen Sie etwas wie:

sourceSets { 
    main { 
     manifest.srcFile 'AndroidManifest.xml' 
     java.srcDirs = ['src'] 
     resources.srcDirs = ['src'] 
     aidl.srcDirs = ['src'] 
     res.srcDirs = ['res'] 
     assets.srcDirs = ['assets'] 
    } 
} 

Es könnte auch sein, dass eines Ihrer Abhängigkeitsprojekte nicht korrekt konfiguriert ist. Haben Sie eine build.gradle-Datei für ActionBarSherlock und die anderen Drittanbieter-Projekte? Versuchen Sie, Ihre Abhängigkeiten zu kommentieren und nacheinander hinzuzufügen, um zu sehen, wann der Fehler auftritt.

+0

Ich musste eine gradle.build-Datei zu meinem ActionBarSherlock-Projekt mit den sourceSets-Daten hinzufügen. Gelöst mein Problem, danke und +1 :) –

+0

seltsam, dass Eclipse eine Build.Gradle-Datei für Action-Bar-Sherlock nicht generiert, obwohl es für meine anderen 3rd-Party-Abhängigkeiten getan hat. – topwik

+0

"Haben Sie eine build.gradle Datei .." war mein Problem, das diesen Fehler verursachte, oops! – Zulaxia

0

Eine weitere mögliche Ursache für diesen genauen Fehler: Ich habe festgestellt, dass dieser Fehler behoben wurde, indem einige ungenutzte Bibliotheken im Abschnitt build.gradle dependencies kommentiert wurden. Stellen Sie sicher, dass alle diese Pfade korrekt sind.