2011-05-29 31 views
31
  1. Bir Android projesi yürüttüm ve çalıştırın. Başarılı bir şekilde koştu.
  2. Java'da bir web servisi geliştirdim ve barındırdım. Başarılı bir şekilde koştu.
  3. Web servisini bir .jar dosyasına aktardım ve Android projeme ekledim.
  4. Web hizmetinde bir yöntemi çağırmaya çalıştığımda Unable to resolve superclass hatası alıyorum.

Benim hata günlüğü:.jar kütüphanesi başvuru sırasında superclass hatası düzeltilemedi.

Unable to resolve superclass of Lweb/service/RandomWordGeneratorService; (73) 
Link of class 'Lweb/service/RandomWordGeneratorService;' failed 
Could not find class 'web.service.RandomWordGeneratorService', 
    referenced from method tam.miru.Login$1.onClick 
VFY: unable to resolve new-instance 110 Lweb/service/RandomWordGeneratorService;) 
    in Ltam/miru/Login$1; 
VFY: replacing opcode 0x22 at 0x005a  
VFY: dead code 0x005c-006e in Ltam/miru/Login$1;.onClick (Landroid/view/View;) 

cevap

71

Sadece klasör aksi onların sınıfları .dex yer almayan harici .jar dosyaları (bir s ile) 'kütüphanelerini' olması gerektiğini keşfetti ADT 17.

yükselttikten sonra bu sorunu almaya başladı oluşturulan dosya. Yükseltmeden önce her şey .jar dosyaları ile bir 'lib' klasöründe (no s) çalıştı.

+4

Daha fazla bilgi [here] (https://plus.google.com/u/0/109385828142935151413/posts/RL91VJd1yti) – rabidgremlin

+0

Çok teşekkürler !!! – XXX

+2

Teşekkürler ... google .. . :( – fvisticot

2

Eğer tutulma kullanıyor musunuz? Öyleyse, kitaplığı Adding a library/JAR to an Eclipse Android project'da açıklandığı gibi yapı yoluna eklediniz mi?

+0

evet web servis java uygulamasının jarini oluşturdum ve onu ek olarak ekledim. ADD EXTERNAL JAR – sakthi

+0

Web.service.RAR'da tanımlanan RandomWordGeneratorService sınıfı? –

+0

evet :(ve ben de bir libs klasörü bağlantı olarak oluşturdum ve benim jar yerleştirdim.Aynı hata alıyorum :( – sakthi

4

Lib klasörü oluştur, libs klasörü yerel kütüphaneler içindir. Yaptım, kütüphaneye kütüphane ekle ve dahili kütüphane olarak yol inşa et ve işe yarıyor!

+0

teşekkürler :) –

+0

Bende, –

-1

Eclipse'deki bu hata için farklı bir nedene rastladım. Eclipse çalışma alanlarını google disk dizinlerine yerleştirmeyi denedim ve bazı süper sınıfların android etkinliklerden çözülemeyeceğini keşfettim.

Duraklatılmış Google Drive ve her şey iyi çalışmaya başladı. Benim durumumda, yüklenemeyen süper sınıf, bir protokol arabelleği oluşturulmuş sınıftan geliyordu. Bu sınıf ve test ettiğim diğerleri, Google Drive çalışırken bile, Android dışındaki java programlarında iyi çalıştı.

2

Bu yazının gerçekten eski bir iş parçacığında olduğunu biliyorum, ancak @ rabidgremlin tarafından yanıtı okuduktan sonra, klasör yapısını kontrol ettim ve zaten "libs" içinde olduğunu gördüm. Ancak, support.jar'ı görerek, bunu kullanmanın sorunun nedenini oluşturduğunu düşündüm.

"FragmentActivity" öğesini genişletiyordum, ancak ortaya çıktı; bu, kendi başına sorunları olan support.jar dosyasına başvuruyordu. Uzatılan maddeyi kaldırdıktan sonra, uygulama mucizevi bir şekilde kilitleniyordu.

Birinin gelmesi durumunda sadece bir FYI. Şerefe!

14

Benim durumumda Properties->Java Build Path->Order and Export'a gitmem ve Android Private Libraries'u kontrol etmem gerekti, sonra projeyi temizledim ve iyi çalıştı.

1

Aynı sorunu yaşadım, Android Özel Kitaplıklarını Sipariş ve Verme altında işaretlemeye çalıştım ve bu benim için çalışmadı. Sonra, libs klasörümün Java Oluşturma Yolu altında referans alınmadığını fark ettim. Ben de onu kütüphanelere ekledim ve işe yaradı.

1

Aynı hata iletisini aldım. Sorunu çözmek için biraz zamanımı aldım: Android, Java 1.6'nın çalışmasını gerektirir. Etkinliğimin süper sınıfı, Java 1.7'den derleyici olarak kullanılan bir Java projesinden bir arayüz uyguladı. Bu, deks oluşturucu için süper sınıfı birleştirememek için yeterliydi ve bu, sınıfın bulunamamış istisna ile sonuçlandı.

İlgili konular