android - ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R$styleable -
मैं एक्सेलश्री इंडिगो और एडीटी आर 20 का उपयोग कर एक्शनबारशर लॉक 4.1 के साथ एक छोटे से नमूना एप्लिकेशन बनाने की कोशिश कर रहा हूं।
मैंने एक रिक्त गतिविधि के साथ एक नया एंड्रॉइड प्रोजेक्ट बनाया, एक्शनबारर्सलॉक.जर को लिब्ज़ में कॉपी किया और उसे बिल्ड पथ में संदर्भ दिया।
ऐप सफलतापूर्वक बनाता है, लेकिन एमुलेटर (2.2 का प्रयोग करके) डिवाइस (4.0.4 का उपयोग करते हुए), यह त्रुटि के साथ क्रैश करता है:
java.lang.NoClassDefFound त्रुटि: com.actionbarsherlock.R $ styleable com com.actionbarsherlock.view.MenuInflater $ MenuState.readItem ( MenuInflater.java:328) ... मैं proguard का उपयोग नहीं कर रहा हूँ।
मैंने ActionBarSherlock प्रोजेक्ट को साफ करने का प्रयास किया है, मेरे नमूना प्रोजेक्ट के लिब्स में नया जार कॉपी कर रहा है , और फिर मेरा नमूना प्रोजेक्ट सफाई कर रहा है।
मेरा मुख्य गतिविधि.जावा काफी सरल है:
पैकेज com.example.lrn; आयात करें com.actionbarsherlock.app.SherlockActivity; आयात करें com.actionbarsherlock.view.Menu; Importroid.os.Bundle; सार्वजनिक कक्षा मुख्य गतिविधि शर्लोक अटैक्टिव को बढ़ाता है {@ ओवररेड सार्वजनिक शून्य पर क्रेट (बंडल सहेजे गए इन्स्टैंसस्टेट) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } @ ओवरराइड पब्लिक बूलियन ऑन क्रेट ऑप्शन मेनू (मेनू मेनू) {getSupportMenuInflater ()। फुलाएँ (आर.मेनू। सक्रियता_मैन, मेनू); वापस सच; }} मेनू में एक एकल आइटम है:
& lt; मेनू xmlns: android = "http://schemas.android.com/apk / res / एंड्रॉयड "& gt; & Lt; item android: id = "@ + id / menu_settings" एंड्रॉइड: शीर्षक = "@ स्ट्रिंग / मेनू_ सेटिंग्स" एंड्रॉइड: orderInCategory = "100" एंड्रॉइड: showAsAction = "ifRoom" / & gt; & Lt; / मेनू & gt; और एंड्रॉइड मैनिफ़ेस्ट.एक्सएम भी ऐसा ही है जैसे ईक्लीपस ने इसे बनाया है:
& lt; मैनिफ़ेस्ट xmlns: android = "http://schemas.android .com / apk / res / android "package =" com.example.lrn "android: versionCode =" 1 "एंड्रॉइड: versionName =" 1.0 "& gt; & Lt; उपयोग- sdk एंड्रॉइड: minSdkVersion = "8" एंड्रॉइड: targetSdkVersion = "16" / & gt; एंड्रॉइड: एंड्रॉइड: एंड्रॉइड: एंड्रॉइड: एंड्रॉइड: थीम = "@ स्टाइल / ऐपथीम" & gt; & Lt; गतिविधि एंड्रॉइड: नाम = ".मुख्य गतिविधि" एंड्रॉइड: लेबल = "@ स्ट्रिंग / शीर्षक_एक्टिविटी_मैन" & gt; & LT; आशय-फ़िल्टर & gt; & Lt; एक्शन एंड्रॉइड: name = "android.intent.action.MAIN" / & gt; & Lt; श्रेणी android: name = "android.intent.category.LAUNCHER" / & gt; & Lt; / आशय-फ़िल्टर & gt; & Lt; / गतिविधि & gt; & Lt; / आवेदन & gt; & Lt; / प्रकट & gt; इस बिंदु पर मुझे वास्तव में पता नहीं है कि मुझे क्या याद आ गया है।
मैंने अपने मुद्दे को एक अलग तरीके से ActionBarSherlock जोड़कर इस मुद्दे का समाधान किया।
लिखित में actionbarsherlock.jar को प्रतिलिपि बनाने और इसे बनाने के लिए पथ बनाने के बजाय, मैंने इसे एक संदर्भ के रूप में जोड़ा प्रोजेक्ट गुणों के एंड्रॉइड अनुभाग में प्रोजेक्ट।
एप अब एमुलेटर और डिवाइस दोनों पर बना और सही तरीके से चलाता है।
Comments
Post a Comment