2012-10-02 17 views
5

Lütfen birisi bana bu hatanın ne anlama geldiğini ve nasıl önleneceğini açıklayın.NoClassDefFoundError - Daha önce başarısız olan sınıfta re-init'i reddetme

09-28 12:53:45.746 I/dalvikvm(29489): Rejecting re-init on previously-failed class Lcom/bartat/android/ui/task/AsyncTaskExt; v=0x0 
09-28 12:53:45.748 D/AndroidRuntime(29489): Shutting down VM 
09-28 12:53:45.755 I/am_crash(1146): [29489,com.bartat.android.secret,572996,java.lang.NoClassDefFoundError,com.bartat.android.ui.task.AsyncTaskExt,CommandsActivity.java,726] 
09-28 12:53:45.755 I/am_finish_activity(1146): [1079225264,123,com.bartat.android.secret/.CommandsActivity,crashed] 
09-28 12:53:45.750 W/dalvikvm(29489): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
09-28 12:53:45.752 E/AndroidRuntime(29489): FATAL EXCEPTION: main 
09-28 12:53:45.752 E/AndroidRuntime(29489): java.lang.NoClassDefFoundError: com.bartat.android.ui.task.AsyncTaskExt 

Bu sorun uygulama yeniden çözülemez olabilir: Bir sonra

benim app Kuvvet çünkü bu hatanın kapatır iken

.

AsyncTaskExt'u AsyncTaskExt2 olarak yeniden adlandırırsam, uzun süre tekrar çalışır. Ancak birkaç hafta/ay sonra bu hatayı tekrar almaya başladı.

Bu ne anlama geliyor? Neden sınıf atılmadan atılmalı ve nasıl önlenmeli?

bana yardım edin, Tamás

cevap

0

Emin misin bu Başvurunuzu çalıştırdıktan sonra alıyorsanız ilk istisna değildir? Daha önce bazı yakalanmamış istisnalar olabilir.

+0

Bu hatanın nedenini bilmiyorum, bunun gerçekleşmesinden önce herhangi bir hata var demektir. Ancak bu istisna oluştuğunda, kayıtta başka bir hata yoktur. Sanırım sistem (vm?) Bu sınıfta bir sorun olduğu bir yerde saklandı. Ama henüz ilk gelişmeyi yakalamadım. – bartat

3

Eğer AndroidManifest.xml

9

bir sınıf çeşitli nedenlerle için yüklenemedi bu gerçekleşir içinde kullanımları-kütüphane eklemeniz gerekir. Ne yazık ki, yeni ART çalışma zamanı, bunun nedenine ilişkin yeterli bilgi kaydetmiyor. Dalvik ile eski bir Android cihazını ele geçirirseniz, genellikle daha fazla hassasiyetle suçu açığa çıkararak farklı kayıtlar görürsünüz.

Son gördüğümde, aslında bağımlılıklarını içermeyen ya da listelemeyen bir JAR dosyasıyla uğraşmak zorunda kaldım. Bu yüzden, grad dosyasına doğru bağımlı kitaplığı eklemek onu çözdü. En büyük sorun hangi sınıfların kaybolduğunu belirlemektir - bir dalvik kütük/dekomplasyon/dokümantasyon size anlatabilir.

Java dilinin tamamında sınıfların yüklenememesinin birçok nedeni vardır, bu nedenle bu özel neden evrensel olarak geçerli olmayabilir.

+0

Bu bana çok yardımcı oldu. Bir bağımlılık eklemek JAR sorunu çözdü. – Rediska

+0

Eksik JAR bağımlılığı eklemek benim için de bunu düzeltdi. Teşekkürler! – pdsouza

2

Yeni Relic analizleri etkinleştirildiğinde başka bir proje oluşturduktan sonra bu sorunu yaşamaya başladım. Gradle daemon daha sonra Yeni Relic ajanını önbelleğe aldı ve diğer uygulamayı başlatamadı. yardımcı Ne

./gradlew --stop 
6

anlık çalıştırma etkin olması koşuluyla benim için Olur oldu.

+0

Teşekkürler bir süre için teşekkürler, şerefe :) –

+0

Çok teşekkürler. Çalıştırmayı devre dışı bıraktığımda çalışıyor. Hala insta ile bazı sorunlar? –