2016-09-28 1 views
4

Ich habe ein Android-Projekt, das jetzt zu bauen versagt:NoClassDefFoundError: com/android/build/gradle/intern/ToolingRegistryProvider

FAILURE: Build failed with an exception. 

* Where: 
Build file 'build.gradle' line: 28 

* What went wrong: 
A problem occurred evaluating root project 'X'. 
> java.lang.NoClassDefFoundError: com/android/build/gradle/internal/ToolingRegistryProvider 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Das Projekt war der Bau gut mit den folgenden Abhängigkeiten:

'com.android.tools.build:gradle:2.1.3' 
'com.android.tools.build:gradle-experimental:0.7.3' 

Ein Kollege hat die von AndroidStudio angebotenen Updates angewendet. Das änderte sich die Plugin-Versionen:

'com.android.tools.build:gradle:2.2.0' 
'com.android.tools.build:gradle-experimental:0.8.0' 

Nach diesem Update baut das Projekt erfolgreich auf seine Entwicklung Maschine (Windows 7) und auf Mine (Ubuntu 16.04). Der Fehler tritt auf dem Jenkins Build Server (Ubuntu 16.04). Ich habe die verfügbaren Updates für die Android SDK-Komponenten auf dem Build-Server installiert, aber der Fehler bleibt bestehen.

Eine google search for "ToolingRegistryProvider" gibt "Ihre Suche findet keine Dokumente" zurück.

Antwort

1

Das Problem wurde behoben, indem der Modulcache von Gradle auf dem Build-Server gelöscht wurde und der Build dann alles neu herunterladen ließ.

rm -r ~/.gradle/caches/modules-2 
1

Hinzufügen meiner Lösung für dieses Problem: Ich jcenter() auf den Top-Level-Repositories Tag hinzugefügt.

Wir verwenden einen Nexus-Server, der viele von uns verwendete Bibliotheken bei der Arbeit beherbergt. Als es versuchte, die Gradle-Plugin-Version zu aktualisieren, versuchte es dies vom Nexus-Server aus und aus irgendeinem Grund zog das Update die richtige Version mit einigen Änderungen, wodurch die Gradle-Version und die Gradle-Plugin-Version nicht synchron waren . Durch Hinzufügen von jcenter() wurde das Gradle-Plugin korrekt aktualisiert und dieser Fehler verschwand.

0

Dieser Fehler kann kommen nicht als Repository in Ihrer build.gradle Datei mit dem Google Maven Repository mit:

allprojects { 
    repositories { 
     google() 

     // If you're using a version of Gradle lower than 4.1, you must instead use: 
     // maven { 
     //  url 'https://maven.google.com' 
     // } 
     // An alternative URL is 'https://dl.google.com/dl/android/maven2/' 
    } 
} 

this link Informationen für mehr sehen.