RuntimeException: Uygulama başlatılamıyor


97

Uygulamamı çalıştırdığımda, her seferinde logcat'imde aşağıdaki istisnayı alıyorum:

 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

Not: Uygulamayı emülatörden kaldırıp çalıştırdığımda, bu istisnayı almıyorum ama yüklü uygulamayı emülatörde yeniden çalıştırdığımda, bunu alıyorum. Lütfen yardım et.


1
paketiniz android.app.Application ise, paket adını değiştirmeyi deneyin, biraz şüpheli görünüyor, Sistem paketine benziyor.
Onun değil boş

Ayrıca uygulamanızın Manifest'te açıklandığından emin olun.
dcow

Nedeni: java.lang.NullPointerException satırını genişletin. Daha ilerideki başvurunuzda bir satıra referans olmalıdır
Zaid Daghestani

Hayır, başvurumda belirttiğiniz gibi bir paketim yok. Uygulama, Manifest'te şu şekilde ilan edildi: <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" />
user182944

Uygulamanız 4.0'da hangi Android sürümü çalışıyor?
yorkw

Yanıtlar:


194

Bu, dalvik .apk dosyasını yeniden yüklediğinde ve aynı paketteki önceki açılmış etkinliği / görünümü yeniden kullanmaya veya geri dönüştürmeye çalışırken (önceki yüklü uygulamayı henüz kapatmadıysanız) temel çerçeve tarafından oluşturulan ayrıntılı bir hata mesajıdır. Uygulamanızla hiçbir ilgisi yoktur, dahası, uygulamanızın son kullanıcının cihazındaki bu ayrıntılı hata mesajı nedeniyle donması veya çökmesi olasılığı çok düşüktür.

Görünüşe göre bu dalvik ayrıntılı hata günlüğü yalnızca Android 4.0 sisteminde gerçekleşiyor, ben kendimi Android 3.2 ve 2.3.3 çalışma ortamında test ettim, burada bu mesajı ikisinde de gösterilemeyecek şekilde çoğaltamazsınız. Benzer bir soru daha önce burada tartışılmış ve birisi Android Sorunlar İzleyici'de bir hata raporu doldurmuş .

Şu anda bu ayrıntılı hata günlüğü hakkında çok fazla endişelenmeniz gerektiğini düşünmüyorum, Logcat'teki bu kırmızı hatadan önce ve sonra daha fazla günlüğe bakarsanız, hikayenin tamamını görebilir ve önceki açılan etkinlik / görünümü bulabilirsiniz (ki ölmüş durum olarak işaretlenir) öldürülür ve yeni yeniden yüklenen en sonunda patlatılır.


2
Merhaba, Hayır, uygulamam bu istisna nedeniyle ne çöktü ne de dondu, istisna atıldıktan sonra bile iyi çalışıyor. Sadece logcat'teki istisnayı gördüm ve farkında değildim, bu yüzden aynı şeyi sormayı düşündüm. Bilgi için teşekkürler, çok kullanışlı.
user182944

3
Bunu bir üretim uygulamasının geliştirici konsolunda alıyorum. Öncelikle 4.2 ile gerçekleşiyor gibi görünüyor, ancak diğer sürümleri de gördüm (4.1, 4.4).
Dustin

3
@Dustin, bunu çözdün mü? Bu istisnalar haftada en fazla 34 rapor olduğundan! ve kullanıcı mesajlarında çok fazla şikayet var!
thecr0w

1
Hala Android 5.1.1'de yerel olarak alıyorum.
Sam

1
5.1.1'de bile oluşur. Ne oluyor?
android geliştiricisi

16

Bunun çok eski bir soru olduğunun farkındayım, ama yine de faydalı olabilir. Kendi geliştirmemde bu hatayı gözlemlediğimde, bunun, uygulamamın daha önce çalışan örneğinin düzgün bir şekilde kapanmamasından kaynaklandığını, örneğin çıkıştan önce arka plan iş parçacıklarını kapattığını buldum.


Evet, telefonumdaki ana sayfa düğmesine basmak ve bunu tekrar çalıştırmak benim için de bu hatayı ortadan kaldırıyor.
Saldırgan

Mantıklı, ancak bir uygulama kullanıcının önünde açıkken düzgün bir şekilde kapanabilir ve ardından Android onu yükseltmek için öldürür?
Sam

Muhtemelen Android, bu senaryoda onDestroy () yöntemlerini çağırır, değil mi? Öyle umulur.
JulianSymes

2

Uygulama sınıfımda JSOUP ile internete bağlanmaya çalıştığımda da aynı hatayı alıyorum. Bu aldatıcıydı, çünkü uygulama öykünücüde çalışıyor ancak gerçek cihazda çalışmıyordu. JSOUP kitaplığını yanlış kullandığım ortaya çıktı. Sayfayı yeni ileti dizisine yüklemek sorunumu çözdü.

Umarım birine yardım etmişimdir.


2

Umarım bu birine yardımcı olur. Bunu tıklayarak emülatörünüzde çalışan uygulamalara gidin:

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin

Yüklemeye çalıştığınız uygulamayı kapatın ve ardından tekrar çalıştırın. Uygulamayı kaldırmanıza / yeniden yüklemenize veya projeyi temizlemenize gerek YOK


1

Benim için Projenin temizlenmesine yardımcı oldu. Eclipse'de:
- Proje -> Temizle
Lütfen şu Proje'yi kontrol edin -> Otomatik Olarak Oluştur KONTROL EDİLDİ
Bundan sonra gen-Klasörü boşsa, res klasöründe bir hata vardır. Genellikle, res klasöründeki hatalar kırmızı çarpı işareti ile gösterilmez! İyi şanslar ve selamlar


Bana yardımcı olmadı. adbÜretim uygulamalarımdan birinden diğerine yükseltmek için kullandığımda , bu sorun oluyor, bu yüzden benim durumumda IDE'ye özgü görünmüyor.
Sam

0

Benim durumumda bu hata, Android Maven projesini yeni çalışma alanına aktardıktan sonra ortaya çıkıyor ve SRC klasörü derleme yoluna otomatik olarak eklenmedi.

Projeye sağ tıklayın / Oluşturma yolu / Yapı yolunu yapılandır / Kaynak - eksik kaynaklar olup olmadığını kontrol edin.


0

Ben de aynı sorunu yaşıyorum. Projeyi temizlemek benim için çalıştı.

Proje seçin Proje'ye gidin -> Temizle


Bana yardımcı olmadı. adbÜretim uygulamalarımdan birinden diğerine yükseltmek için kullandığımda , bu sorun oluyor, bu yüzden benim durumumda IDE'ye özgü görünmüyor.
Sam

0

Benim durumumda logcat bana ilk etkinliği bulmadığını gösterdi, ancak Dex Yolu farklıydı, "... / data / app / myapp" yerine "... / data / app / myapp-1" idi . Bunu, Paket gezgini penceresindeki elcipse proje adı "uygulamam" a tıklayarak yaptım. Sonra üzerine sağ tıklayın, -> refactor-> rename ... Proje ismini myapp-1 olarak ayarlıyorum ve ardından -> refactor-> yeniden adlandır ... ve tekrar "uygulamam" a geri dönüyorum. Sonra işe yaradı ... tutulmada biraz böcek mi?


0

Ben de aynı sorunu yaşıyorum. Uygulamamı kaldırıp yeniden yüklemek sorunu çözdü.


0

Bunu farklı bir makineden inşa ettiğim projemi ithal ettiğimde yaşadım. Sadece önbellekleri geçersiz kıl ve yeniden başlat

Dosya> Önbellekleri Geçersiz Kıl / Yeniden Başlat> Geçersiz kıl ve yeniden başlat


0

ApplicationId'yi (Module: app) build.gradle dosyasında farklı bir şeye değiştirdim, uygulamayı cihazımda tekrar çalıştırın. Ardından değişikliği geri alıyorum ve uygulamayı tekrar çalıştırıyorum ve her şey çalışıyor. Android Studio 2.3.1 ve burada sahip olduğum 5.0'dan 7.0'a kadar 4 farklı cihazda çalışıyor.


0

Bu soruyla karşılaşıyorum. Ne zaman kullanımı gradle clean, gradle installDebugbu iş tamam!

   AndroidRuntime  D  Shutting down VM
E  FATAL EXCEPTION: main
E  Process: tv.panda.live.broadcast, PID: 4685
E  java.lang.RuntimeException: Unable to instantiate application tv.panda.live.broadcast.PandaApplication: java.lang.ClassNotFoundException: Didn't find class "tv.panda.live.broadcast.PandaApplication" o
   n path: DexPathList[[zip file "/data/app/tv.panda.live.broadcast-1/base.apk"],nativeLibraryDirectories=[/data/app/tv.panda.live.broadcast-1/lib/arm, /vendor/lib, /system/lib]]
E      at android.app.LoadedApk.makeApplication(LoadedApk.java:572)
E      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4883)
E      at android.app.ActivityThread.access$1500(ActivityThread.java:178)
E      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1573)
E      at android.os.Handler.dispatchMessage(Handler.java:111)
E      at android.os.Looper.loop(Looper.java:194)
E      at android.app.ActivityThread.main(ActivityThread.java:5691)
E      at java.lang.reflect.Method.invoke(Native Method)
E      at java.lang.reflect.Method.invoke(Method.java:372)
E      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
E      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
E  Caused by: java.lang.ClassNotFoundException: Didn't find class "tv.panda.live.broadcast.PandaApplication" on path: DexPathList[[zip file "/data/app/tv.panda.live.broadcast-1/base.apk"],nativeLibraryDi
   rectories=[/data/app/tv.panda.live.broadcast-1/lib/arm, /vendor/lib, /system/lib]]
E      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E      at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E      at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E      at android.app.Instrumentation.newApplication(Instrumentation.java:988)
E      at android.app.LoadedApk.makeApplication(LoadedApk.java:567)
E      ... 10 more
E      Suppressed: java.lang.ClassNotFoundException: tv.panda.live.broadcast.PandaApplication
E          at java.lang.Class.classForName(Native Method)
E          at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E          at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E          at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E          ... 13 more
E      Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

0

Basit Çözüm:

Sadece öykünücünüzü veya mobil cihazınızı yeniden başlatın . Ve sorun gitti! Bu sorunun nedeni, önceki bir uygulama etkinliğinin yanlışlıkla durdurulmuş olmasından kaynaklanıyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.