2013-10-17 6 views
5

Ich versuche den Android Emulator auf Jenkins zu verwenden, um mein Projekt zu erstellen und zu testen. Aber ich erhalte den folgenden Fehler, wenn ich meine grddle-Aufgaben ausführe; Ich bin mitAndroid-Jenkins: Build Tools Revision 17.0.0 konnte nicht gefunden werden Jenkins Build Server

fehlgeschlagen Build-Tools Revision 17.0.0

die gradle Aufgabe zu finden ist;

./gradlew clean connectedCheck 

in meiner gradle Build-Datei habe ich die folgende Konfiguration

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
    minSdkVersion 7 
    targetSdkVersion 17 
    } 
} 

Der Build-Server eine Made Ubuntu-Instanz (12 etwas) ist. Mein erster Gedanke war, dass ich nicht die richtigen Build-Tools installiert hatte, also schaute ich in meinen android-sdk/build-tools-Director. Alles, was ich sehen konnte, war ein Verzeichnis namens 18.1.1. Also ich dachte, wenn ich mein Android SDK aktualisiert würde es Version 17.0.0 herunterladen. Also lief ich den folgenden Befehl ein:

android update sdk --no-ui 

und es scheint, verschiedene viele Dinge herunterladen, aber in dem Build-Tools-Verzeichnis wieder ich nur noch Version 18.1.1 sehen.

So Fragen sind:

1) Bin ich recht in der Annahme der Build fehlschlägt, weil ich nicht die richtige Build-Tools Revision in meinem Android-SDK-Verzeichnis haben? (/ android-sdk/build-tools)

2) Wie aktualisiere ich die Build-Tools auf einem kopflosen Server, so dass ich die Version 17.0.0 habe?

Wenn Sie mich benötigen, um weitere Informationen zur Verfügung zu stellen, lassen Sie es mich bitte wissen.

Vielen Dank im Voraus für Sie helfen.

+0

versuchen Sie es mit 'buildToolsVersion" 18.1.1 "' in Ihrer gradle Build-Datei – petey

Antwort

18

Standardmäßig listet android update sdk (oder android list sdk --extended) nur die Pakete auf, die nicht als veraltet gelten.

Da Build Tools 17.0.0 eine vergleichsweise alte Version ist, wird sie standardmäßig nicht angezeigt.

Laufen mit dem -a (--all) Flag finden Sie die älteren Versionen erhalten, zB:
android update sdk -u -a -t build-tools-17.0.0


An einem gewissen Punkt in der die Jenkins Plugin Zukunft automatisch die richtigen Build-Tools für Sie installieren sollten, basierend auf Ihrer build.gradle Datei.


Edit (November 2015): Diese Funktionalität wird wahrscheinlich nicht auf die Android-Emulator-Plugin hinzugefügt werden.

Heutzutage würde ich empfehlen das android-sdk-manager Gradle-Plugin zu verwenden, das die Installation aller Voraussetzungen für einen Jenkins-Build automatisiert, einschließlich Android SDK, Tools, Build-Tools, Plattformen, Support-Bibliotheken usw.

Dies kann sehr einfach in Ihr Projekt integriert werden, und beseitigt die Notwendigkeit, die Installation des Android SDK auf Ihren Jenkins Build Machines auf dem neuesten Stand zu halten.

+0

Was bedeuten die Optionen -u und -t? –

+0

@GabrielJiva Sie können überprüfen mit 'Android Update sdk --help':' -u' führt das Update auf der Kommandozeile ohne GUI; '-t' filtert die zu installierenden Pakete. In diesem Fall wird nur die Build-Tool-Komponente und nicht alle verfügbaren Komponenten installiert. –

0

Andere Art und Weise, es zu tun, ist manuell aktualisieren für die fehlende Version Android SDK Manager Jenkins angebracht mit (Suchen Sie nach Konfiguration: ANDROID_SDK, dann unter ihm Zugang "Tools/android.sh")

enter image description here

Verwandte Themen