2012-03-26 17 views
12

मैं सिर्फ एक Android JUnit टेस्ट, में Robotium उपयोग करने के लिए कोशिश कर रहा था लेकिन परीक्षण हमेशा एक त्रुटि के साथ विफल:एंड्रॉयड Robotium NoClassDefFoundError

java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

एकल = नया सोलो (getInstrumentation(), getActivity()) पर फेंक दिया गया; सेटअप() विधि में:

protected void setUp() throws Exception { 
    super.setUp(); 
    solo = new Solo(getInstrumentation(), getActivity()); 
} 

मैंने कहीं पढ़ा है कि इस Android एसडीके संशोधन 17 से संबंधित हो सकता है, लेकिन मैं इस बात की पुष्टि नहीं कर सकते हैं, जैसा कि मैंने पहले पहले से ही SDK के साथ Robotium की कोशिश की 17.

रोबोटियम जार परियोजना निर्माण पथ में ठीक से जोड़ा गया है।

क्या किसी को भी इसी तरह की समस्या का सामना करना पड़ा है?

सादर लालकृष्ण

उत्तर

30

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

टेस्टप्रोजेक्ट गुण -> जावा बिल्ड पथ -> लिब्रेरीज़ -> जेएआर जोड़ें ... -> टेस्टप्रोजेक्ट/libs /robotium-solo-3.1.jar

+2

libs निर्देशिका चाल है, धन्यवाद!लेकिन आपको उन्हें तब तक पथ में नहीं जोड़ना चाहिए, क्योंकि libs में सबकुछ स्वचालित रूप से बिल्ड पथ में जोड़ा जाता है। (Http://tools.android.com/recent/dealingwithdependenciesinandroidprojects)। – Alf

+0

हाय किम, मैंने अपनी टेस्ट प्रोजेक्ट के लिए कोई lib नहीं देखा ... मुझे इसे बदलने की आवश्यकता कहां है? – ChanGan

25

आपको गुण-> जावा बिल्ड पथ -> ऑर्डर और निर्यात पर जाकर रोबोटियम जार निर्यात करने की आवश्यकता होगी। फिर रोबोटियम जार फ़ाइल की जांच करें।

+0

यह मेरा मुद्दा था, धन्यवाद! – Blaskovicz

+0

इससे मुझे इस स्थिति में मदद मिली! धन्यवाद! – joebalt

3

एसडीके 17 पर एक ही समस्या थी। रोबोटियम जार को lib और जोड़ने में सहायता करने में मदद मिली। इसे काम करने के लिए सुपर (स्ट्रिंग, क्लास) से सुपर (क्लास) तक कन्स्ट्रक्टर में बहिष्कृत सुपर कॉल को भी बदलना पड़ा।

+0

जेली बीन एप्लिकेशन का परीक्षण करने की कोशिश करते समय भी इन तीनों में से कुछ समस्याएं थीं। सुनिश्चित करें कि आप बहिष्कृत कन्स्ट्रक्टर का उपयोग नहीं करते हैं। – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

2

क्या मैं बग को ठीक करने किया था:

  • अधिकार परियोजना के नाम पर क्लिक> गुण> जावा बिल्ड पथ> टैब पुस्तकालय> सब कुछ निकालें:

    • मानक जावा का निर्माण पथ से पुस्तकालयों निकालें "एंड्रॉइड एक्सएक्स" (मेरे मामले में 2.3.3) और "एंड्रॉइड निर्भरता"
    • लाइब्रेरी फ़ोल्डर को "lib" से "libs"
    • का नाम बदलकर, "libs" फ़ोल्डर में सभी पुस्तकालयों को छोड़कर "एंड्रॉइड प्लगइन द्वारा पाया जाता है और" एंड्रॉयड निर्भरता "परियोजना
    • स्वच्छ परियोजना (वास्तव में नहीं की जरूरत)

    के आइटम आप क्रिया के लिए कर रहे हैं!

  • 7

    मैं समस्या को हल करने

    enter image description here

    नोट इस विन्यास किया था: मैं robotium पहले एक डाल दिया।

    2

    यदि समस्या अभी भी जारी है तो बस अपने ग्रहण को पुनरारंभ करें। मुझे robotium.jar आयात करने के बाद भी एक ही समस्या हो रही थी लेकिन ग्रहण को पुनरारंभ करने के बाद यह ठीक काम करता था।

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