Fehler im Zusammenhang mit resources_ap nach dem Upgrade auf Android Studio 3.4

79

Ich habe heute Android Studio 3.4 aktualisiert. Ich kann die App nicht mehr ausführen. Ich habe das Projekt bereinigt und Android Studio viele Male neu gestartet. Ich habe auch den Cache ohne Erfolg ungültig gemacht. Bei der Installation der App wird folgende Fehlermeldung angezeigt:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformDexWithInstantRunSlicesApkForDebug'.
> java.lang.RuntimeException: java.io.FileNotFoundException: E:\...\app\build\intermediates\instant_run_split_apk_resources\debug\instantRunSplitApkResourcesDebug\out\slice_1\resources_ap

Könnte jemand einen Tipp geben, wie man das behebt?

Bearbeiten: Ich habe zwei Projekte mit unterschiedlichen Verhaltensweisen im Zusammenhang mit diesem Problem:

  1. Projekt A hatte anfangs dieses Problem. Ich habe Instant Run gemäß der Antwort deaktiviert, das Problem wurde behoben. Ich habe Instant Run später aktiviert und Projekt A funktioniert immer noch einwandfrei.
  2. Projekt B hatte auch dieses Problem, das durch Ausschalten von Instant Run behoben wurde. Das Problem tritt jedoch auf, sobald Instant Run aktiviert ist. Ich weiß nicht, welcher Unterschied zwischen diesen beiden Projekten dazu führt. Ein Verdächtiger ist das Projekt der Bibliothek C. Bibliothek C ist Teil von Projekt A (dh der Quellcode, Ressourcen befinden sich in Projekt A). Projekt B verwendet jedoch den AAR der Bibliothek C als Modul.
Hong
quelle
6
Das Ausschalten von Instant Run in Settings hat das Problem für mich behoben (wie in der Antwort auf Fehler beschrieben: Ausführung für Task ': app: transformDexWithInstantRunSlicesApkForDebug' fehlgeschlagen. Zip-Datei konnte nicht gelesen werden )
Marco Borchert
@MarcoBorchert Danke. Es begann zu funktionieren, nachdem ich Instant Run deaktiviert hatte. Ich habe Instant Run später wieder aktiviert und es funktioniert immer noch. Es scheint, dass das Deaktivieren von Instant Run keine Reinigungsarbeiten ausführt, die mit anderen regulären Reinigungsmethoden nicht durchgeführt werden können. Könnten Sie Ihren Kommentar in eine Antwort umwandeln, damit ich ihn akzeptieren kann?
Hong
@MarcoBorchert Für ein anderes Projekt kann ich Instant Run nicht wieder aktivieren. Ich muss die ganze Zeit weg sein.
Hong

Antworten:

67

Das Ausschalten von Instant Run als Problemumgehung (Datei / Einstellungen / Instant Run) scheint das Problem zu beheben.

Laut OP ist es möglich, Instant Run wieder einzuschalten, ohne dass das Problem bei einigen Projekten erneut auftritt.

Marco Borchert
quelle
94

Das Problem sollte in Android Studio 3.4.2 behoben sein.


EDIT: Hier ist meine alte Antwort, wie man es in Android Studio 3.4.0 und 3.4.1 behebt:

Die Verwendung von Gradle 5.4 anstelle von 5.1.1 hat mir bei diesem Fehler geholfen.

Aktualisieren Sie die Datei gradle-wrapper.properties mit: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip

Bitte beachten Sie, dass ich ältere Gradle-Versionen nicht getestet habe, sodass möglicherweise sogar (zum Beispiel) die Version 5.2 funktioniert. Sie können alle Gradle-Versionen hier sehen - https://gradle.org/releases/

Robyer
quelle
Vielen Dank. Ich habe gerade versucht und bestätigt, dass dieses Mittel wirkt. Leider kann ich nur eine Antwort akzeptieren. Ich vermute, dass Google dieses Problem auf die eine oder andere Weise mit einem Update beheben wird. Eine Möglichkeit besteht darin, das Update von Gradle zu erzwingen.
Hong
5
@Hong Sie können die akzeptierte Antwort jedoch ändern . Diese Lösung ist eindeutig vorzuziehen und für andere Leser hilfreicher, da sie nicht nur eine Problemumgehung darstellt.
Marco Borchert
Bitte verzeihen Sie mir, dass ich in diesen Dingen konservativ bin. Ich halte mich normalerweise von den neuesten Versionen fern, es sei denn, sie wurden ausführlich getestet. Ich gehe davon aus, dass jedes Android Studio-Update vor seiner Veröffentlichung von vielen freundlichen Betatestern getestet wurde.
Hong
@ Hong Nun, ich denke, wir können den Gradle-Tests mehr vertrauen (da diese Version bereits seit einiger Zeit öffentlich veröffentlicht wurde) als dem frisch veröffentlichten Android Studio mit diesem offensichtlichen Problem. Ich habe auch keine anderen Gradle-Versionen getestet, aber vielleicht können Sie eine ältere Version als 5.4 verwenden, wenn Sie nicht die neueste verwenden möchten (beachten Sie auch, dass die neueste Version jetzt 5.4.1 ist) - siehe gradle.org/releases Ich habe meine Antwort damit aktualisiert die Info.
Robyer
1
Dies scheint auf AndroidStudio 3.4 auf einem Mac funktioniert zu haben. Danke @Robyer
Hugo
38

Instant Run muss nicht deaktiviert werden.
Löschen Sie einfach das Verzeichnis '.gradle' im Projekt und erstellen Sie das Verzeichnis im Modul 'app'.
Führen Sie ein sauberes Projekt durch und erstellen Sie ein Projekt neu.
Dies wird das Problem lösen.

Bibin Johny
quelle
4
Richtige Antwort für mich! Auch musste nicht sauber machen. Löschen Sie einfach den .gradle-Ordner (wählen Sie im linken Fenster von Android Studio den Modus "Projekt").
Regis_AG
2
Korrekte Antwort! Sofortiger Lauf muss nicht deaktiviert werden. Vielen Dank!
rstewart22
Ohhhh ja! Das ist die Antwort.
Teddy
Vielen Dank! Ich hatte ungefähr eine Stunde Mühe, bis ich Ihren Tipp sehe.
Igor de Lorenzi
Vielen Dank! Ich habe alles versucht, aber es funktioniert einfach nicht. Nur das funktioniert. Wenn ich das nur ein paar Stunden früher
sehe
6

Dies wird durch die "Sofortausführung" in Android Studio 3.4 verursacht. Sie können sie deaktivieren, indem Sie:

Öffnen Sie das Dialogfeld Einstellungen oder Einstellungen. Navigieren Sie zu Build, Execution, Deployment> Instant Run. Deaktivieren Sie das Kontrollkästchen neben Sofortausführung aktivieren

Genießen...!

Mahi Saini
quelle
2

Gehen Sie zu Ihrem Projektordner und verschieben Sie alles von ... \ app \ build \ in einen anderen Ordner außerhalb des Projekts. (zum Löschen des Build-Ordners mit Sicherung) In meinem Fall löste das Löschen des Build-Ordners das Problem. Bis dahin deaktivierte ich die Option Sofortiges Ausführen für jede neue Installation.

Hart
quelle
3
In dem Fall, dass es nicht ausreichte, das buildVerzeichnis zu verschieben, musste ich auch verschieben, .gradleund das behebt das Problem.
Carrizo
0

Ich habe sowohl die Lösungen "Gradle 5.4" als auch "Instant Run ausschalten" ausprobiert, aber sie haben nicht funktioniert, bis ich die Option "Auf Debugger warten" bis "Entwickleroptionen" in meinem Telefon (Huawei Mate 10) aktiviert habe. Ich habe bestätigt, dass dies auch nur mit "Instant Run" funktioniert.

Kar Shiang Tey
quelle
0

Dieses Problem ist mir unter Windows passiert. Ich habe es gelöst, indem ich den Sofortlauf deaktiviert habe. Ich habe auch die gleiche Android Studio-Version unter Linux und es funktioniert gut mit aktiviertem Sofortlauf.

Abdallah
quelle
0

Der gleiche Fehler trat auf, als ich auf Android Studio 3.4.2 aktualisierte, das Tools-Build-Gradle auf 3.4.2 aktualisierte und das Problem verschwand.

snti
quelle
-1

Das Ausschalten von Instant Run als Problemumgehung (Datei / Einstellungen / Instant Run) scheint das Problem zu beheben.

Nullzeiger-Ausnahme
quelle