2014-04-14 17 views
6

Entschuldigung für mein Englisch.Gradle Fehler mit einem Dollarzeichen

Ich versuche, ein neues Projekt im Android Studio mit Gradle-Unterstützung zu erstellen, aber ich kann mein Projekt nicht korrekt erstellen. Es gibt einen Code:

Gradle 'SportManager' project refresh failed: 
    Cause: startup failed: 
    initialization script 'C:\Users\ponomarev\AppData\Local\Temp\ijinit6732759991667918700.gradle': 33: illegal string body character after dollar sign; 
    solution: either escape a literal dollar sign "\$5" or bracket the value expression "${5}" @ line 33, column 20. 
    String[] paths = ["/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension.jar","/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension-v1.9.jar","/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension-v1.11.jar","/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension-v1.12.jar"] 
    ^
    1 error 

'LOGGER-2' Name ist Computer im Netzwerk.

Ich sehe, dass Gradle nicht literal Dollarzeichen $ im folgenden Ausdruck verstehen: "/ LOGGER-2/c $/Programme/...". Wie kann ich das Problem beheben?

Antwort

9

$ in einem String mit doppeltem Anführungszeichen hat in Groovy eine besondere Bedeutung - es wird für die String-Interpolation verwendet. Wenn Sie ein Literal $ möchten, verwenden Sie entweder ein String-Literal mit einem Anführungszeichen (z. B. 'foo$bar') oder das $ mit \ (z. B. "foo\$bar").

+0

Das Hauptproblem besteht in der Tatsache, dass Gradle einen falschen Pfad zum lib-Verzeichnis erhält. Falsch: "/ LOGGER-2/c $/Programme/...." Richtig: "/ LOGGER-2/C:/Programme/...." Aber ich verstehe nicht warum Gradle gesetzt $ Zeichen in den Pfad .... – Andrew

+0

Können Sie sagen, wer erzeugt C: \ Benutzer \ ponomarev \ AppData \ Local \ Temp \ ijinit6732759991667918700.gradle, und können Sie seinen Inhalt zeigen? Wer diese Datei erzeugt, bekommt es falsch. Vielleicht versuchen Sie, die Datei zu bearbeiten und das '$' zu entkommen. –

+0

Ich kann den Inhalt der Datei C: \ Benutzer \ ponomarev \ AppData \ Local \ Temp \ ijinit6732759991667918700.gradle nicht in meinen ersten Beitrag einfügen. Ich weiß nicht, wer diese Datei erzeugt :( – Andrew