Zaktualizowałem Android Studio do wersji 2.0. Ale miałem problem, nie wiem dlaczego?
Ważne informacje o błędzie:
Nie można utworzyć wystąpienia aplikacji com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication
Szukałem długo, ale nie znalazłem właściwej odpowiedzi, możesz zobaczyć link
W tym samym czasie, gdy klikam Plik-> Struktura projektu, pokazuje ten błąd:
Czy jest jakiś problem w bibliotekach? Kiedy gradle buduje program, biblioteki nie załadowały się całkowicie dla bieżącego programu. Czy jest jakiś problem z Android Studio w wersji 2.0?
Kiedy używam Android Studio 1.4.0 do budowania i uruchamiania programu. U mnie działa dobrze! Ale kiedy używam Android Studio 2.0, pojawia się problem!
Czemu? Proszę, mógłbyś mi pomóc?
Oto szczegółowy dziennik błędów:
11-28 11: 57: 00.489 19890-19890 / com.eallcn.rentagent.debug E / AndroidRuntime: FATAL EXCEPTION: main Process: com.eallcn.rentagent.debug, PID: 19890 java.lang.RuntimeException: Nie można utworzyć instancji aplikacji com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication pod adresem android.app.LoadedApk.makeApplication (LoadedAva:537) .ActivityThread.handleBindApplication (ActivityThread.java:4586) na android.app.ActivityThread.access $ 1800 (ActivityThread.java:139)
na android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316)
na android.os.Handler.dispatchMessage (Handler.java:102)
pod adresem android.os.Looper.loop (Looper.java:136)
pod adresem android.app.ActivityThread.main (ActivityThread.java:5314)
pod adresem java.lang. Reflect.Method.invokeNative (metoda natywna)
w java.lang.reflect.Method.invoke (Method.java:515)
w com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) w com. android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
at dalvik.system.NativeStart.main (metoda macierzysta)
Przyczyna: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication
at com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) pod adresem com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:167) pod adresem com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java.java:179) (Application.java:194)
pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:992)
pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:976)
pod adresem android.app.LoadedApk.makeApplication (LoadedApk.java: 532)
na android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) na android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) na android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) na Android .os.Handler.dispatchMessage (Handler.java:102) na android.os.Looper.loop (Looper.java:136) na android.app.ActivityThread.main (ActivityThread.java:5314) na java.lang.reflect.Method.invokeNative (metoda macierzysta) na java.lang.reflect.Method.invoke (Method.java:515) na com.android.internal.os. ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) w com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) w dalvik.system.NativeStart.main (Metoda rodzima) Przyczyna: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication at java.lang.Class.classForName (metoda natywna) w java.lang.Class.forName (Class.java:251) w java .lang.Class.forName (Class.java:216) w com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) pod adresem com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) pod adresem android.app.Application.attach (Application.java:194) pod adresem android.app.Instrumentation.newApplication (Instrumentation.java : 992) pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:976) pod adresem android.app.LoadedApk.makeApplication (LoadedApk.java:532) w android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) pod adresem android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) w android.app.ActivityThread $ H.handleMessage ( ActivityThread.java:1316) na android.os.Handler.dispatchMessage (Handler.java:102) na android.os.Looper.loop (Looper.java:136) pod adresem android.app.ActivityThread.main (ActivityThread.java:5314) pod adresem java.lang.reflect.Method.invokeNative (metoda natywna) pod adresem java.lang.reflect.Method.invoke (Method. java: 515) pod adresem com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) pod adresem com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) w dalvik.system.NativeStart.main (metoda rodzima) Przyczyna: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication pod adresem java.lang.Class.classForName (metoda rodzima) pod adresem java.lang.Class.forName (Class.java:251) pod adresem java.lang.Class.forName (Class.java:216) pod adresem com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) pod adresem com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:155) pod adresem com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) .attach (Application.java:194) pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:992) pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:976) pod adresem android.app.LoadedApk.makeApplication (LoadedApk.java:532) pod adresem android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) w systemie Android. app.ActivityThread.access 1800 $ (ActivityThread.java:139) na android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) na android.os.Handler.dispatchMessage (Handler.java:102) pod adresem android.os.Looper.loop (Looper.java:136) pod adresem android.app.ActivityThread.main (ActivityThread.java : 5314) pod adresem java.lang.reflect.Method.invokeNative (metoda rodzima) pod adresem java.lang.reflect.Method.invoke (Method.java:515) pod adresem com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) pod adresem com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) w dalvik.system.NativeStart.main (Metoda macierzysta) Przyczyna: java.lang.ClassNotFoundException: Nie znaleziono klasy „com.eallcn.rentagent.MyDebugEallApplication” w ścieżce: DexPathList [[plik zip "/data/app/com.eallcn.rentagent.debug-1 .apk ”],nativeLibraryDirectories = [/ data / app-lib / com.eallcn.rentagent.debug-1, / vendor / lib, / system / lib, / data / datalib]] w dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56 ) pod adresem java.lang.ClassLoader.loadClass (ClassLoader.java:497) pod adresem java.lang.ClassLoader.loadClass (ClassLoader.java:457) pod adresem java.lang.Class.classForName (metoda natywna) w java.lang.Class.forName (Class.java:251) w java.lang.Class.forName (Class.java:216) w com.android.tools.fd.runtime.BootstrapApplication.createRealApplication ( BootstrapApplication.java:155) pod adresem com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) pod adresem android.app.Application.attach (Application.java:194) pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:992) pod adresem android.app.Instrumentation.newApplication (Instrumentation.java:976) pod adresem android.app.LoadedApk.makeApplication (LoadedApk .java: 532) pod adresem android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) pod adresem android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) na android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) pod adresem android.os.Handler.dispatchMessage (Handler.java:102) na android.os.Looper. loop (Looper.java:136) pod adresem android.app.ActivityThread.main (ActivityThread.java:5314) pod adresem java.lang.reflect.Method.invokeNative (metoda natywna) w java.lang.reflect.Method.invoke (Method.java:515) w com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) w com.android.internal. os.ZygoteInit.main (ZygoteInit.java:680) at dalvik.system.NativeStart.main (metoda rodzima)515) pod adresem com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) pod adresem com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) w dalvik.system.NativeStart.main (Metoda natywna)515) pod adresem com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) pod adresem com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) w dalvik.system.NativeStart.main (Metoda natywna)680) w dalvik.system.NativeStart.main (metoda macierzysta)680) w dalvik.system.NativeStart.main (metoda macierzysta)
źródło
Odpowiedzi:
Wyłącz opcję Instant Run w Android Studio. Instrukcje znajdują się w dokumentacji Android Studio Instant Run .
Natychmiastowe uruchamianie próbuje wykonać gorącą wymianę kodu; powoduje to przeniesienie klasy aplikacji.
Aby wyłączyć natychmiastowe uruchamianie, przejdź do Plik -> Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Natychmiastowe uruchamianie ---> odznacz „Włącz natychmiastowe uruchamianie”
źródło
Miałem ten sam błąd po próbie użycia 2.0.
Rozwiązałem to, cofając niektóre zmiany stopni:
1/3:
Wymiana pieniędzy:
Przez:
2/3:
Wymiana pieniędzy:
Przez:
3/3: ( cal
<project folder>/.idea/gradle.xml
)I:
Przez:
Nie wiem, która linia jest dokładnie źródłem błędu, ale dzięki tym trzem zmianom został on rozwiązany.
Mam nadzieję, że to ci pomoże :)
źródło
<project folder>/.idea/gradle.xml
)option name="gradleHome"
? Gdzie to się znajduje.Miałem ten sam błąd.
Rozwiązałem to, czyszcząc projekt (Kompiluj> Wyczyść projekt)
źródło
Po prostu przejdź do menu Android Studio - Build -> Rebuild Project.
źródło
Udało mi się pozbyć tego błędu, aktualizując gradle-wrapper.properties do
gradle-2.14.1-all
i czyszcząc / przebudowując projekt. Wtedy wszystko poszło dobrze. Żadne inne zmiany nie były potrzebne (jak sugerowano w powyższej odpowiedzi) ...źródło
com.android.tools.build:gradle:2.0.0-alpha1
? Błąd nadal występuje po uaktualnieniu docom.android.tools.build:gradle:2.0.0-alpha6
+https\://services.gradle.org/distributions/gradle-2.10-all.zip
Zmiana na
naprawiony problem
źródło
Ten błąd też otrzymałem z Androidem 2.0 w stabilnym kanale.
Co ja zrobiłem?
- Miałem już zainstalowaną starszą wersję aplikacji na urządzeniu (która została zbudowana przy użyciu starszej wersji Studio), którą próbowałem zastąpić, uruchamiając nowszą aplikację na urządzeniu.
Właśnie całkowicie odinstalowałem starszą wersję przed uruchomieniem nowej aplikacji i sztuczka zadziałała.
źródło
Tylko dla tych, którzy chcą zaktualizować classPath do najnowszej wersji wtyczki Gradle. Gdzie znaleźć najnowszą wersję wtyczki?
Sprawdź http://tools.android.com/tech-docs/new-build-system i zaktualizuj swoją classPath. Obecnie jest to najnowszy
Zawsze staraj się budować z najnowszą wersją wtyczki.
źródło
Jeśli nie chcesz wyłączać funkcji Instant Run, po prostu wyczyść projekt i uruchom go ponownie.
źródło
Zmień,
classpath 'com.android.tools.build:gradle:2.1.2'
abyclasspath 'com.android.tools.build:gradle:2.1.0'
rozwiązać mój problem.źródło
Ja też stanąłem przed tym samym problemem i rozwiązałem go. W moim przypadku był to błąd w klasie globalnej (klasa kontekstu całej aplikacji), mój błąd polegał na
AndroidManifest.xml
zadeklarowaniu klasy ApplicationVolleyHelper
jako: -ale w
VolleyHelper.java
nie mam domyślnego konstruktora. Więc dodałem domyślny konstruktor wVolleyHelper.java
(Klasa aplikacji).źródło
możesz również dodać to do swojego gradle, aby zapobiec robieniu dex podczas debugowania
źródło
Na niektórych urządzeniach z Androidem w wersjach wcześniejszych niż OS 5.0 otrzymujemy komunikat o błędzie:
Musimy wyłączyć „Natychmiastowe uruchamianie”.
Idź do
File
>Settings
>Built, Execution, Deployment
>Instant Run
Następnie wyłącz opcję
Enable Instant Run to hot swap code.
źródło
Musiałem tylko zrestartować moje urządzenie. Próbowałem wszystkiego innego na początku niestety, więc straciłem godziny.
źródło
Jeśli udostępniasz swoją aplikację, innym rozwiązaniem jest
iść do
Android Studio --> Build --> Build APK
Pojawi się wyskakujące okienko
APK generated successfully
.Show in Explorer
przeniesie Cię do wygenerowanego folderu apk.źródło
Nie ma potrzeby wyłączania „natychmiastowego uruchamiania”.
1. przejdź do katalogu głównego projektu za pomocą Eksploratora plików
2. Zakończ Android Studio (AS)
3. Usuń (przenieś gdzieś) zawartość folderu ".gradle"
(aby wyczyścić trochę gotówki i stare artefakty)
4. w folderze res wyczyść wszystkie nieodpowiednie pliki
5. ponownie uruchom AS
6. w module build.gradle ustaw "buildTypes {debug {minifyEnabled true" na false
(wygląda na to, że błąd był w moim pliku proguard, kek)
Zsynchronizuj, skompiluj i ponownie uruchom aplikację: /
źródło
Ten błąd wystąpi, gdy dodasz puste działanie z plikiem .java. Aby rozwiązać ten błąd, najpierw musisz ponownie zbudować projekt. Następnie uruchom go. Rozwiązany Dziękuję.
źródło
Właśnie aktualizuję Android Studio do ostatniej wersji (2.0 Beta 5). Zmienia się
classpath 'com.android.tools.build:gradle:2.0.0-beta5'
i działa jak urok.źródło