2012-03-24 20 views
9

यदि मैं "लिंट" चलाता हूं। परियोजना निर्देशिका के अंदर मैं उम्मीद चेतावनी मिलता है, लेकिन मैं बकवास त्रुटियों और चेतावनियों मिल अगर मैं इसे ग्रहण के भीतर से चला, उदाहरण के लिए:एक्लिप्स में एंड्रॉइड के लिए लिंट गलत परिणाम देता है

  • संसाधन R.array.settings_derivatives अप्रयुक्त प्रतीत होता है [वास्तव में, यह है प्रयुक्त]
  • xyz में पंजीकृत नहीं है प्रकट [वास्तव में, यह पंजीकृत है]
  • कॉल एपीआई स्तर 3 (वर्तमान मिनट है 1) की आवश्यकता है: android.view.SurfaceView # isInEditMode [वास्तव में minSdkVersion पर सेट है 7]

संपादित करें: यदि मैं एक नया वर्कस्पेस बनाता हूं और मौजूदा प्रोजेक्ट्स आयात करता हूं तो मुझे सही त्रुटियां मिलती हैं

+0

[कॉल को एपीआई स्तर 3 की आवश्यकता है] (http://developer.android.com/reference/android/view/View.html#isInEditMode%28%29) सच है। यह आपके लक्ष्य स्तर के बारे में नहीं है, लेकिन "एपीआई 3 के बाद" जहां उस विधि को पेश किया गया था। आप शायद उस चेतावनी को बंद कर सकते हैं - यह केवल तभी समझ में आता है जब आप अपने ऐप को निम्न न्यूनतम स्तर पर पोर्ट करना चाहते हैं, जिसमें आपके पास वर्तमान में – zapl

+0

है, यह सच है, लेकिन इसकी रिपोर्ट नहीं की जानी चाहिए, क्योंकि मैंने minSdkVersion को 7 पर सेट किया है। यह एक चेतावनी के रूप में रिपोर्ट नहीं किया गया है, बल्कि एक त्रुटि के रूप में ... और मेरा मुद्दा यह है कि कमांड लाइन उपकरण एक अलग [सही] परिणाम – miniBill

+0

देता है सबसे पहले, सुनिश्चित करें कि आप नवीनतम टूल (आर 17) और इसी ग्रहण पर हैं लगाना। यदि समस्या बनी रहती है, तो एक नमूना प्रोजेक्ट बनाएं जो समस्या को पुन: उत्पन्न करता है, फिर http://b.android.com पर एक बग रिपोर्ट सबमिट करें। मैंने उन विशेष संदेशों को पहले नहीं देखा है। – CommonsWare

उत्तर

3

ऐसा कोई समस्या प्रतीत होती है, जब प्रोजेक्ट निर्देशिका सीधे कार्यक्षेत्र निर्देशिका के अंतर्गत नहीं होती है।

आज के रूप में बग रिहाई 20 में तय किया जाना चाहिए: http://code.google.com/p/android/issues/detail?id=27527

संपादित करें: आप कार्यक्षेत्र में एक Softlink कर सकते हैं

यदि आवश्यक हो।

3

समस्या को कार्यक्षेत्र को एक नए पर स्विच करके हल किया गया था। यह शायद पिछली लिंट संस्करणों

-1

"वरीयता -> एंड्रॉइड -> लिंट त्रुटि जांच", मुद्दों को खोजें "न्यूएपीआई" से हटाए गए सेटिंग्स के साथ एक समस्या थी, और आप सेटिंग्स देख सकते हैं।

यह चेक आवेदन में सभी Android API कॉल के माध्यम से स्कैन और किसी भी कॉल कि (प्रकट में अपने न्यूनतम एसडीके विशेषता के अनुसार) सभी संस्करणों इस आवेदन के आधार पर लक्षित पर उपलब्ध नहीं हैं के बारे में चेतावनी दी है।

अपने कोड जानबूझ नए एपीआई तक पहुँचने है, और आप यह सुनिश्चित किया है (सशर्त निष्पादन के साथ जैसे) है कि इस कोड को केवल कभी एक समर्थित मंच पर बुलाया जाएगा, तो आप अपने वर्ग या विधि @TargetApi साथ टिप्पणी कर सकते हैं

+1

मुझे पता है कि चेतावनी का क्या अर्थ है। मुद्दा यह है कि चेतावनी वहां नहीं होनी चाहिए! – miniBill

0

मैं एक ही समस्या इस का उपयोग कर हल: -

सही परियोजना फ़ोल्डर पर क्लिक करें> Android उपकरणों> साफ लिंक मार्करों

"रन Android Lint" कुछ मार्कर बनाता है और मार्कर इस त्रुटि का कारण।

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