2013-07-09 23 views
11

Próbuję skonfigurować Jenkinsa na komputerze z systemem OSX i mam problem.Użycie Jenkinsa do zbudowania projektu gradulu androida się nie udaje

Kiedy próbuję zbudować projekt z mojego domyślnego użytkownika rachunek wszystko działa poprawnie, ale jak tylko im próbuje budować poprzez Jenkins kompilacji nie powiedzie się następujący wynik:

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 

My budować. Gradle dla projektu „biblioteki: ActionBarSherlock” wygląda następująco:

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'] 
     } 
    } 
} 

o ile wiem zależność do com.android.support:support-v4:13.0.0 powinien zostać spełniony za pośrednictwem lokalnego repozytorium maven zainstalowany za pośrednictwem Menedżera SDK systemu Android. Jak już powiedziałem, działa to podczas budowania na moim koncie użytkownika, ale wygląda na to, że nie udaje mu się zbudować z Jenkinsem.

UPDATE

udało mi się rozwiązać ten problem poprzez sprawdzenie uprawnień użytkownika na moim folderze Android SDK. Problem polegał na tym, że podczas gdy użytkownik jenkins czytał & pisał uprawnienia do folderu głównego sdk Androida, brakowało mu uprawnień dostępu do rzeczy zainstalowanych przez menedżera sdk Androida.

+0

Twoja aktualizacja jest tym, co było nie tak z moją kompilacją, dziękuję –

Odpowiedz

5

Byłem w stanie rozwiązać ten problem właśnie teraz dla siebie.

Kroki:

  1. Utwórz plik w katalogu głównym projektu o nazwie "local.properties"
  2. tylko umieścić następujące informacje w pliku: sdk.dir =/home/cierpliwości/android -studio/sdk

Następnie przebuduj i powinno działać. To było dla Fedory Linux w celach informacyjnych.

+0

Chociaż nie był to problem w moim przypadku, może to być jeden z częstszych problemów podczas próby zbudowania gradofalowego projektu androida z jenkins. –

+0

Po dodaniu w odpowiednim miejscu zadziałało to dla mnie. Buduję z terminala i testuję aplikację, więc nie mam androida podłączonego do SDK. Dostałem mój przez homebrew – plosco

+3

local.properties nie powinny być naprawdę używane dla kompilacji CI. to znaczy, nie powinno się tego rejestrować. – jdv

1

Wygląda na to, że pakiet SDK Androida w Twoim pudełku Jenkins nie ma zainstalowanego składnika "Android Support Repository".

+1

Ponieważ jestem uruchomiony Jenkins w moim pudełku programistycznym, myślę, że mogę bezpiecznie powiedzieć, że zainstalowane jest repozytorium pomocy technicznej dla Androida. Domyślam się, że konto użytkownika Jenkins nie może znaleźć lub nie może uzyskać dostępu do SDK systemu Android, mimo że ustawiłem $ ANDROID_HOME i local.properties na ścieżce do SDK. –

+0

Mam dokładnie ten sam problem, a poza tym widziałem co najmniej jedno inne ogłoszenie z tym samym problemem. Używam Fedory Linux, a inne publikowanie, które widziałem, również uruchamiało Linuksa, Ubuntu cię pamięta. Czy to jest wspólny wątek? Niezależnie od tego, czy możemy mieć link do repozytorium Maven @Xav, abyśmy mogli dodać go ręcznie? Jest to dla mnie problem blokujący. Dzięki. –

+0

Repo jest wewnątrz SDK pod dodatkami/android/m2repository/ –

49
  • idź do Jenkins> Manage Jenkins> Konfiguracja systemu
  • Check "zmienne środowiskowe"
  • dodać nazwę: ANDROID_HOME, wartość -> Android SDK reż
  • kliknij "Dodaj"
  • SCROLL W DÓŁ KLIKNIJ ZAPISZ
+0

Działa, nawet jeśli ten błąd zaczął się losowo w moim systemie - bez żadnego rymu ani przyczyny ... –

+0

Wolałbym to rozwiązanie niż modyfikowanie właściwości local.properties. Plik local.properties jest tworzony i wykorzystywany w środowisku IDE. Maszyna dev z pewnością będzie miała różne ścieżki. Możliwy problem z konserwacją. –

+1

działa również na Linuksie –

Powiązane problemy