2013-07-09 1 views
11

Ich versuche, Jenkins auf einem Computer einzurichten, auf dem OSX läuft, und mir läuft ein Problem.Die Verwendung von Jenkins zum Erstellen eines android Grapple-Projekts schlägt fehl

Wenn ich versuche, das Projekt mit meinen Standard-Benutzern zu bauen Konto alles funktioniert gut, aber sobald im über Jenkins versucht, den Build mit der folgenden Ausgabe nicht zu bauen:

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring project ':Project'. 
> Failed to notify project evaluation listener. 
    > A problem occurred configuring project ':libraries:actionbarsherlock'. 
     > Failed to notify project evaluation listener. 
      > Could not resolve all dependencies for configuration ':libraries:actionbarsherlock:compile'. 
       > Could not find com.android.support:support-v4:13.0.0. 
        Required by: 
         workspace.libraries:actionbarsherlock:unspecified 

Meine bauen. gradle für das Projekt ‚Bibliotheken: ActionBarSherlock‘ sieht wie folgt aus:

buildscript { 
    repositories { 
     maven { url 'http://repo1.maven.org/maven2' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4.2' 
    } 
} 
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'] 
      res.srcDirs = ['res'] 
     } 
    } 
} 

Soweit ich die Abhängigkeit zu com.android.support:support-v4:13.0.0 wissen sollten installiert über das lokale maven-Repository erfüllt werden über den Android SDK-Manager. Wie gesagt, das funktioniert, wenn ich auf meinem Benutzerkonto aufbaue, aber es scheint zu versagen, wenn ich versuche, mit Jenkins zu bauen.

UPDATE

konnte ich dieses Problem lösen, indem die Benutzerberechtigungen auf meinem Android-sdk-Ordner zu überprüfen. Problem schien zu sein, dass, während die jenkins Benutzer & Schreibberechtigungen auf dem Android SDK Stammordner gelesen hatte, es die Ermächtigung fehlte, um Sachen anzukündigen, die durch den Android SDK Manager installiert wurden.

+0

Ihr Update ist, was mit meinem Build auch falsch war, danke –

Antwort

5

Ich konnte dieses Problem gerade jetzt für mich lösen.

Schritte:

  1. Erstellen Sie eine Datei im Stammverzeichnis des Projekts namens "local.properties"
  2. Setzen Sie nur die folgenden in der Datei: sdk.dir =/home/Geduld/android -studio/sdk

Dann Rebuild und es sollte funktionieren. Dies war auf Fedora Linux als Referenz.

+0

Während dies in meinem Fall nicht das Problem war, könnte es eines der häufigsten Probleme sein, wenn man versucht, ein großartiges android-Projekt mit jenkins zu bauen. –

+0

Nach dem Hinzufügen an der richtigen Stelle funktionierte das für mich. Ich baue vom Terminal aus und teste die App, so dass ich kein Android-Studio an den SDK angeschlossen habe. Ich habe meine über Homebrew – plosco

+3

local.properties sollte nicht wirklich für CI-Builds verwendet werden. d. h., es sollte nicht eingecheckt werden. – jdv

1

Es sieht so aus, als ob das Android SDK auf Ihrer jenkins-Box nicht die Komponente "Android Support Repository" installiert hat.

+1

Da ich renne Jenkins auf meiner Entwicklungs-Box jetzt, ich denke, ich kann sicher sagen, dass das Android Support Repository installiert ist. Meine beste Vermutung ist, dass das Benutzerkonto jenkins das Android SDK nicht finden kann oder nicht, obwohl ich $ ANDROID_HOME und local.properties mit einem Pfad zum sdk gesetzt habe. –

+0

Ich hatte genau das gleiche Problem, und ich habe mindestens ein anderes Posting neben dem gleichen Problem gesehen. Ich betreibe Fedora Linux, und das andere Posting, das ich gesehen habe, war Linux, Ubuntu dagegen. Ist das ein roter Faden? Unabhängig davon, @Xav können wir möglicherweise einen Link zum Maven Repo bekommen, so dass wir es einfach manuell hinzufügen können? Dies ist ein Blockierungsproblem für mich. Vielen Dank. –

+0

Das Repo ist innerhalb des SDK unter Extras/android/m2repository/ –

49
  • Zum Jenkins> Manage Jenkins> Configure System
  • Check "Umgebungsvariablen"
  • Name: ANDROID_HOME, Wert -> Ihr Android-sdk dir
  • auf "Hinzufügen"
  • ROLLE DOWN CLICK SAVE
+0

Funktioniert, obwohl dieser Fehler zufälligerweise auf meinem System auftrat - ohne irgendeinen Reim oder Grund ... –

+0

Ich würde diese Lösung dem Ändern von local.properties vorziehen. local.properties wird in der IDE erstellt und verwendet. Die Dev-Maschine wird sicherlich verschiedene Wege haben. Mögliches Wartungsproblem. –

+1

funktioniert auch unter Linux –

Verwandte Themen