Kiedy uruchamiam moją aplikację, za każdym razem otrzymuję poniższy wyjątek w moim logcat:
04-14 09:29:53.965: W/dalvikvm(1020): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-14 09:29:53.985: E/AndroidRuntime(1020): FATAL EXCEPTION: main
04-14 09:29:53.985: E/AndroidRuntime(1020): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.makeApplication(LoadedApk.java:482)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread.access$1300(ActivityThread.java:123)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.os.Handler.dispatchMessage(Handler.java:99)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.os.Looper.loop(Looper.java:137)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread.main(ActivityThread.java:4424)
04-14 09:29:53.985: E/AndroidRuntime(1020): at java.lang.reflect.Method.invokeNative(Native Method)
04-14 09:29:53.985: E/AndroidRuntime(1020): at java.lang.reflect.Method.invoke(Method.java:511)
04-14 09:29:53.985: E/AndroidRuntime(1020): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-14 09:29:53.985: E/AndroidRuntime(1020): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-14 09:29:53.985: E/AndroidRuntime(1020): at dalvik.system.NativeStart.main(Native Method)
04-14 09:29:53.985: E/AndroidRuntime(1020): Caused by: java.lang.NullPointerException
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:362)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.getClassLoader(LoadedApk.java:305)
04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.makeApplication(LoadedApk.java:474)
04-14 09:29:53.985: E/AndroidRuntime(1020): ... 11 more
Uwaga: kiedy odinstalowuję aplikację z emulatora i uruchamiam ją, nie ma tego wyjątku, ale kiedy ponownie uruchamiam zainstalowaną aplikację w emulatorze, otrzymuję to. Proszę pomóż.
android
android-intent
android-emulator
user182944
źródło
źródło
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.infy.meetingmanager.activity" android:versionCode="1" android:versionName="1.0" >
<application...> <activity android:name=".LoginActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
Odpowiedzi:
Jest to szczegółowy komunikat o błędzie zgłaszany przez podstawową platformę, gdy dalvik ponownie instaluje plik .apk i próbuje ponownie użyć lub odtworzyć poprzednio otwartą czynność / widok z tego samego pakietu (jeśli nie zamknąłeś poprzednio zainstalowanej aplikacji). Nie ma to nic wspólnego z twoją aplikacją, ponadto jest bardzo mało prawdopodobne, że Twoja aplikacja zostanie zawieszona lub zawieszona z powodu tego szczegółowego komunikatu o błędzie na urządzeniu użytkownika końcowego.
Wygląda na to, że ten pełny dziennik błędów dalvik zdarzał się tylko w systemie Android 4.0, przetestowałem go sam w środowisku uruchomionym Android 3.2 i 2.3.3, gdzie nie można replikować, aby ten komunikat nie był wyświetlany na żadnym z nich. Podobne pytanie zostało omówione wcześniej tutaj i ktoś wypełnił raport o błędzie w narzędziu do śledzenia problemów z Androidem .
Nie sądzę, abyś w tej chwili zbytnio przejmował się tym szczegółowym dziennikiem błędów, jeśli spojrzysz na więcej dzienników przed i po tym czerwonym błędzie w Logcat, możesz zobaczyć całą historię i stwierdzić, że poprzednie otwarte działanie / widok (który są oznaczone jako martwe) zostaną zabite, a nowo zainstalowany ponownie zostanie ostatecznie wyskakujący.
źródło
Zdaję sobie sprawę, że to bardzo stare pytanie, ale i tak może się przydać. Odkryłem, że kiedy obserwuję ten błąd we własnym rozwoju, jest to spowodowane tym, że poprzednio uruchomione wystąpienie mojej aplikacji nie zostało starannie zamknięte, na przykład przez zamknięcie wątków w tle przed zamknięciem.
źródło
Otrzymałem ten sam błąd, gdy próbowałem połączyć się z Internetem za pomocą JSOUP w mojej klasie aplikacji. Było to trudne, ponieważ aplikacja działa na emulatorze, ale nie na rzeczywistym urządzeniu. Okazało się, że właśnie źle użyłem biblioteki JSOUP. Ładowanie strony w nowym wątku rozwiązało mój problem.
Mam nadzieję, że komuś pomogłem.
źródło
Mam nadzieję, że to komuś pomoże. Przejdź do uruchomionych aplikacji na emulatorze, klikając to:
Zamknij aplikację, którą próbujesz zainstalować, a następnie uruchom ją ponownie. NIE ma potrzeby odinstalowywania / ponownego instalowania aplikacji ani czyszczenia projektu.
źródło
Pomogło mi to w wyczyszczeniu projektu. W Eclipse:
- Projekt -> Wyczyść
Kontroluj ten Projekt -> Kompiluj automatycznie jest SPRAWDZONY.
Jeśli folder gen jest pusty, w folderze res jest błąd. Często błędy w folderze res nie są oznaczone czerwonym krzyżykiem! Powodzenia i pozdrawiam
źródło
adb
do aktualizacji z jednego z moich pakietów produkcyjnych do innego, ten problem występuje, więc w moim przypadku nie wydaje się on być specyficzny dla IDE.W moim przypadku ten błąd pojawia się po zaimportowaniu projektu Android Maven do nowego obszaru roboczego, a folder SRC nie został automatycznie dodany do ścieżki kompilacji.
Kliknij prawym przyciskiem myszy projekt / ścieżkę kompilacji / konfiguruj ścieżkę kompilacji / źródło - sprawdź, czy brakuje źródeł.
źródło
Mam ten sam problem. Sprzątanie projektu działało dla mnie.
Wybierz projekt przejdź do Project -> Clean
źródło
adb
do aktualizacji z jednego z moich pakietów produkcyjnych do innego, ten problem występuje, więc w moim przypadku nie wydaje się on być specyficzny dla IDE.W moim przypadku logcat pokazuje, że nie mógł znaleźć początkowej aktywności, ale ścieżka Dex była inna, była to „... / data / app / myapp-1” zamiast „... / data / app / myapp” . Usunąłem to, klikając nazwę projektu elcipse „myapp” w oknie eksploratora pakietów. Następnie kliknij prawym przyciskiem myszy, -> refactor-> rename ... Ustawiam nazwę projektu na myapp-1, a następnie -> refactor-> rename ... iz powrotem na „myapp”. Wtedy zadziałało ... jakiś błąd w zaćmieniu?
źródło
Mam ten sam problem. Odinstalowanie aplikacji, a następnie ponowna instalacja rozwiązało problem.
źródło
Doświadczyłem tego, importując mój projekt, który był zbudowany z innej maszyny. Po prostu unieważnij pamięci podręczne i uruchom ponownie
Plik> Unieważnij pamięci podręczne / Uruchom ponownie> Unieważnij i uruchom ponownie
źródło
Zmieniłem applicationId na coś innego w pliku (Module: app) build.gradle, ponownie uruchom aplikację na moim urządzeniu. Następnie cofam zmianę i ponownie uruchamiam aplikację i wszystko działa. Działa na Android Studio 2.3.1 i 4 różnych urządzeniach, które tu mam, od 5.0 do 7.0.
źródło
Odpowiadam na to pytanie. Gdy użycie
gradle clean
,gradle installDebug
to działa ok!źródło
Proste rozwiązanie:
Po prostu uruchom ponownie emulator lub urządzenie mobilne. Problem zniknął! Przyczyną tego problemu było to, że poprzednia aktywność aplikacji została niesłusznie zatrzymana.
źródło