Ich habe die folgende Aufgabe in meinem Android build.gradle Datei, die kopiert meine gebaut APK-Datei für mich:Android Gradle Plugin Update v2.3.0 Pausen Kopieren Aufgabe
/**
* Copies the final release APK into the project root folder.
*/
task copyRelease(type: Copy) {
// define output files exactly to work around a file locking issue
outputs.files.setFrom(file("../app-release.apk"))
from "build/outputs/apk/app-release.apk"
into ".."
}
Diese für eine lange Zeit gearbeitet hat, und brach heute bei Android Studio vorgeschlagenen Update zu tun:
- Android Gradle Plugin v2.3.0 (von v2.2.3)
- Gradle v3.3 (von v2.14.1)
die Build jetzt Grade Lauf gibt den folgenden Fehler auf der Linie outputs.files.setfrom(...)
:
No signature of method: org.gradle.api.internal.tasks.DefaultTaskOutputs$TaskOutputUnionFileCollection.setFrom() is applicable for argument types: (java.io.File) values: [..\app-release.apk]
Possible solutions: sort()
Zusammenfassend scheint es, wie TaskOutputUnionFileCollection.setFrom()
nimmt nicht mehr File
Parameter.
Aber ich weiß nicht, wie dieser Code auf die neue Version zu migrieren und eine look through the source class hat mir nicht geholfen.
Ich habe an der Android Gradle plugin Known Issues page sowie die Gradle 3.3. Release Notes sah und fand keinen direkten Bezug auf diese.
Das „File-Locking Problem“, dass die Bruchlinie zwingt, die ähnlich ist [in diesem Link ausführlich] (https : //discuss.gradle.org/t/build-failure-with-failed-to-capture-snapshot-of-input-files-for-task-war-during-up-to-date-check/9132/8). Der Stammordner des Projekts enthält den Ordner '.gradle'. –
Ich bin auch auf dieses Problem gestoßen und kann es in keiner Dokumentation finden. Konnten Sie einen Workaround finden? – user1088166
@ user1088166 Ich habe die Problemumgehung hinzugefügt, die ich verwendet habe. Was ich brauche, aber wenn Sie eine bessere Lösung finden, zögern Sie nicht, es zu veröffentlichen. –