Zaktualizowałem dzisiaj Android Studio 3.4. Nie mogę już uruchomić aplikacji. Wyczyściłem projekt, wielokrotnie restartowałem studio Android. Bezskutecznie unieważniłem również pamięć podręczną. Podczas instalowania aplikacji pojawia się następujący błąd:
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
Czy ktoś mógłby zaoferować wskazówkę, jak temu zaradzić?
Edycja: mam dwa projekty z różnymi zachowaniami związanymi z tym problemem:
- Projekt A początkowo miał ten problem. Wyłączyłem Instant Run zgodnie z odpowiedzią, problem został rozwiązany. Włączyłem później natychmiastowe uruchamianie, a projekt A nadal działa poprawnie.
- Projekt B również miał ten problem, który został rozwiązany przez wyłączenie Instant Run. Jednak jego problem wystąpi, gdy tylko zostanie włączona funkcja Instant Run. Nie wiem, jaka różnica między tymi dwoma projektami to skutkuje. Jednym z podejrzanych jest projekt biblioteki C. Biblioteka C jest częścią Projektu A (tj. Jej kod źródłowy, zasoby znajdują się w Projekcie A). Jednak Projekt B używa elementu aar Biblioteki C jako modułu.
Odpowiedzi:
Wyłączenie funkcji Instant Run jako obejścia (Plik / Ustawienia / Natychmiastowe uruchamianie) wydaje się eliminować problem.
Zgodnie z OP możliwe jest ponowne włączenie Instant Run bez problemu powtarzającego się w niektórych projektach.
źródło
Problem powinien zostać rozwiązany w Android Studio 3.4.2.
EDYCJA: Oto moja stara odpowiedź, jak to naprawić w Android Studio 3.4.0 i 3.4.1:
Użycie Gradle 5.4 zamiast 5.1.1 pomogło mi z tym błędem.
Zaktualizuj plik gradle-wrapper.properties o:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip
Uwaga: nie testowałem starszych wersji Gradle, więc jest możliwe, że nawet (na przykład) wersja 5.2 będzie działać. Możesz zobaczyć wszystkie wydania Gradle tutaj - https://gradle.org/releases/
źródło
Nie ma potrzeby wyłączania funkcji Instant Run.
Po prostu usuń katalog „.gradle” w projekcie i skompiluj katalog wewnątrz modułu „app”.
Wykonaj czysty projekt i przebuduj projekt.
To rozwiąże problem.
źródło
Jest to spowodowane funkcją „natychmiastowego uruchamiania” w Android Studio 3.4, którą można wyłączyć:
Otwórz okno dialogowe Ustawienia lub Preferencje. Przejdź do Build, Execution, Deployment> Instant Run. Usuń zaznaczenie pola obok opcji Włącz natychmiastowe uruchamianie
Cieszyć się...!
źródło
Przejdź do folderu projektu i przenieś wszystko z ... \ app \ build \ do innego folderu poza projektem. (aby wyczyścić folder kompilacji z kopią zapasową) W moim przypadku wyczyszczenie folderu kompilacji rozwiązało problem, do tego czasu wyłączałem opcję natychmiastowego uruchamiania dla każdej nowej instalacji.
źródło
build
katalogu nie wystarczyło , musiałem się również przenieść.gradle
i to rozwiązało problem.Wypróbowałem rozwiązania „Gradle 5.4” i „Wyłączanie natychmiastowego uruchamiania”, ale nie działały, dopóki nie włączyłem opcji „Czekaj na debugera”, aż do „Opcji programisty” w moim telefonie (Huawei Mate 10). Potwierdziłem, że to działa tylko przy wyłączonym „Instant Run”.
źródło
Ten problem przytrafił mi się w systemie Windows. Rozwiązałem to, wyłączając natychmiastowe uruchamianie. Mam również tę samą wersję Android Studio w systemie Linux i działa dobrze z włączoną funkcją natychmiastowego uruchamiania.
źródło
Naprawiono to w 3.4.2. Po prostu zaktualizuj Studio do najnowszej wersji. https://androidstudio.googleblog.com/2019/07/android-studio-342-available.html
źródło
Ten sam błąd wystąpił, kiedy zaktualizowałem do Android Studio 3.4.2, zaktualizowałem narzędzie-build-gradle do 3.4.2 i problem zniknął.
źródło
Wyłączenie funkcji Instant Run jako obejścia (Plik / Ustawienia / Natychmiastowe uruchamianie) wydaje się eliminować problem.
źródło