2011-05-29 8 views
31
  1. मैंने एक एंड्रॉइड प्रोजेक्ट किया और इसे चलाया। यह सफलतापूर्वक भाग गया।
  2. मैं जावा में एक वेब सेवा का विकास किया है और यह की मेजबानी की। यह सफलतापूर्वक भाग गया।
  3. मैं एक .jar में वेब सेवा निर्यात किया और मेरे Android परियोजना में जोड़ा।
  4. जब मैं वेब सेवा में एक विधि कॉल करने के प्रयास करते समय मुझे Unable to resolve superclass त्रुटि मिलती है।

मेरे त्रुटि लॉग:संदर्भ देने पर सुपरक्लास त्रुटि को हल करने में असमर्थ .jar लाइब्रेरी

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;) 

उत्तर

71

बस एडीटी 17.

की खोज के उन्नयन कि बाहरी .jar फ़ाइलें एक 'libs पर रहें' (एक के साथ) की जरूरत है फ़ोल्डर अन्यथा उनकी कक्षाओं .dex में शामिल नहीं हैं के बाद इस मुद्दे को पाने के लिए शुरू कर दिया फ़ाइल बनाई गई है। अपग्रेड से पहले सब कुछ मेरी .jar फ़ाइलों के साथ 'lib' फ़ोल्डर (एस) में ठीक काम करता था।

+4

अधिक जानकारी [यहां] (https://plus.google.com/u/0/109385828142935151413/posts/RL91VJd1yti) – rabidgremlin

+0

बहुत बहुत धन्यवाद !!! – XXX

+2

धन्यवाद ... google .. :( – fvisticot

2

आप ग्रहण का उपयोग कर रहे हैं? यदि हां, तो क्या आपने Adding a library/JAR to an Eclipse Android project में वर्णित बिल्ड पथ में लाइब्रेरी जोड़ दी है?

+0

हाँ मैंने वेब सेवा जावा एप्लिकेशन का जार बनाया और इसे अतिरिक्त जेएआर – sakthi

+0

के रूप में जोड़ा। Web.service है।JAR में परिभाषित RandomWordGeneratorService वर्ग? –

+0

हां :(और मैंने लिंक में एक libs फ़ोल्डर भी बनाया है और वहां मेरा जार रखा है। जब भी मुझे एक ही त्रुटि मिलती है :( – sakthi

4

lib फ़ोल्डर बनाएं, libs फ़ोल्डर देशी पुस्तकालयों के लिए है। मैंने इसे बनाया, lib में पुस्तकालय जोड़ें और आंतरिक पुस्तकालय के रूप में पथ बनाने के लिए और यह काम करता है!

+0

धन्यवाद यह मेरे लिए काम करता है :) –

+0

मुझे भी धन्यवाद। –

-1

मैं ग्रहण पर इस त्रुटि के लिए एक अलग कारण हुई। मैं ग्रहण कार्यक्षेत्रों को Google ड्राइव निर्देशिकाओं में डालने के साथ प्रयोग कर रहा था और पाया कि कुछ सुपरक्लास को एंड्रॉइड गतिविधियों से हल नहीं किया जा सकता है।

Google ड्राइव को रोका और सब कुछ ठीक काम करना शुरू कर दिया। मेरे मामले में जो सुपरक्लास लोड नहीं करेगा वह प्रोटोकॉल बफर जेनरेट क्लास से था। इस वर्ग और मैंने जिन अन्य परीक्षणों का परीक्षण किया, वे गैर-एंड्रॉइड जावा कार्यक्रमों में ठीक काम करते थे, भले ही Google ड्राइव चल रहा था।

2

मुझे पता है कि यह वास्तव में पुराने धागे पर एक पोस्ट है, लेकिन जब मैंने @rabidgremlin द्वारा उत्तर पढ़ा, तो मैंने फ़ोल्डर संरचना की जांच की, और पाया कि यह पहले से ही "libs" में था। हालांकि, support.jar को देखते हुए, मैंने सोचा कि इसका उपयोग इस मुद्दे को उत्पन्न कर रहा था।

मैं "फ्रैगमेंट एक्टिविटी" का विस्तार कर रहा था लेकिन यह पता चला कि वह support.jar का संदर्भ दे रहा था, जिसमें स्वयं के मुद्दे थे। एक बार जब मैंने विस्तार खंड को हटा दिया, तो ऐप ने चमत्कारी रूप से क्रैशिंग बंद कर दी।

बस एक FYI करें मामले में किसी की तलाश में आता है। चीयर्स!

14

मेरे मामले में मुझे Properties->Java Build Path->Order and Export पर जाना पड़ा और Android Private Libraries पर जाना था, फिर परियोजना को साफ किया और ठीक काम किया।

1

मुझे एक ही समस्या थी, मैंने आदेश और निर्यात के तहत एंड्रॉइड प्राइवेट लाइब्रेरी को चिह्नित करने की कोशिश की और यह मेरे लिए काम नहीं किया। तब मैंने देखा कि जावा बिल्ड पथ के तहत मेरे libs फ़ोल्डर का संदर्भ नहीं दिया गया था। इसलिए मैंने इसे पुस्तकालयों में जोड़ा और यह काम किया।

1

मैं एक ही त्रुटि संदेश था। समस्या को समझने के लिए मुझे कुछ समय लगा: एंड्रॉइड को जावा 1.6 काम करने की आवश्यकता है। और मेरी गतिविधि के सुपरक्लास ने जावा प्रोजेक्ट से एक इंटरफ़ेस लागू किया जिसमें जावा 1.7 संकलक के रूप में था। यह डीएक्स बिल्डर के लिए सुपरक्लास को जोड़ने में सक्षम नहीं था और इसके परिणामस्वरूप वर्ग को अपवाद नहीं मिला।

संबंधित मुद्दे