2012-05-14 13 views
5

HI यहां एक छोटा कोड है जिसे मैंने Google Analytics के नमूना कोड से चुना है।एंड्रॉइड google analytics tracker NoClassdefFoundError

tracker = GoogleAnalyticsTracker.getInstance(); 

tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this); 
    setContentView(R.layout.main); 
    Button createEventButton = (Button)findViewById(R.id.NewEventButton); 
    createEventButton.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      tracker.trackEvent(
        "Clicks", // Category 
        "Button", // Action 
        "clicked", // Label 
        77);  // Value 
     } 
    }); 

त्रुटि:

'05-14 13:52:36.599: E/AndroidRuntime(7367): FATAL EXCEPTION: main 
05-14 13:52:36.599: E/AndroidRuntime(7367): java.lang.NoClassDefFoundError: com.google.android.apps.analytics.GoogleAnalyticsTracker 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at com.google.android.apps.analytics.sample.TestActivity.onCreate(TestActivity.java:19) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.os.Looper.loop(Looper.java:130) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at android.app.ActivityThread.main(ActivityThread.java:3687) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at java.lang.reflect.Method.invoke(Method.java:507) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
05-14 13:52:36.599: E/AndroidRuntime(7367):  at dalvik.system.NativeStart.main(Native Method) 
+0

यू permssion जोड़ा? android.permission.ACCESS_NETWORK_STATE? यदि नहीं तो इसे जोड़ें। google_analytics –

+0

की अतिरिक्त लाइब्रेरी को फिर से जांचें, क्या आपने अपनी प्रोजेक्ट में googleanalytics जार भी शामिल किया है? क्योंकि यह शिकायत कर रहा है कि इसे ढूंढने में सक्षम नहीं है। हो सकता है कि आपने जार फ़ाइल – pengibot

+0

के संस्करणों को मिश्रित किया है जो आपका विज्ञापन संस्करण –

उत्तर

13

मैं एडीटी को अद्यतन करने के बाद इस समस्या थी।

मैं अपनी सभी जेएआर फाइलों को "lib" नामक फ़ोल्डर में संग्रहीत कर रहा था और सामान्य ग्रहण मार्ग के निर्माण के लिए जार जोड़ रहा था। यह मेरे अपडेट तक ठीक काम किया।

मेरे अपडेट के बाद, मुझे कक्षा के लिए NoClassDefFoundError मिल रहा था जिसे मैं स्पष्ट रूप से जार में शामिल कर सकता था (संदर्भित पुस्तकालय कक्षाओं को देख रहा था)।

समाधान मेरे जार को बिल्ड पथ से निकालना था और मेरे "lib" फ़ोल्डर को "libs" में बदलना था। यह एक चींटी सम्मेलन है, और ऐसा लगता है कि नया एडीटी पाता है और इसमें एक .apk फ़ाइल में पुस्तकालय शामिल हैं। एक बार मैंने ऐसा किया, सब कुछ ठीक काम किया। जब आप Google Analytics v2beta पुस्तकालय का उपयोग कर रहे

+0

अच्छी तरह से काम किया धन्यवाद – Sukesh

+0

धन्यवाद आदमी .. इससे मदद मिली। :) – GrIsHu

28

त्रुटि NoClassdefFoundError साथ समस्या को हल करने के लिए आपको निशान को यह पुस्तकालय के रूप में "निर्यात" की जरूरत है।

कैसे?

  • अपने पुस्तकालय जोड़ें: परियोजना -> गुण -> जावा पथ बिल्ड -> पुस्तकालय -> बाहरी जार जोड़ें ...
  • तो एक ही विंडो में "आदेश और निर्यात" के लिए जाना है, और इस पुस्तकालय को चिह्नित चेकबॉक्स के साथ "निर्यात" के रूप में।

आपका प्रोजेक्ट अब इसे चलाने पर Analytics क्लास को मिलेगा!

अधिक जानकारी और वजह से ऐसा हो here

+0

मैंने पहले इस समाधान की कोशिश की और यह मेरे लिए काम किया। धन्यवाद। – operand

+0

यह मेरे लिए भी काम किया – Guru