2011-08-16 9 views
5

में बिना संदर्भित मानों को ढूंढना और निकालना, जबकि ग्रहण मुझे बिना संदर्भित चर, कक्षाओं और आयातों के बारे में बताता है, यह मुझे नहीं बताता है कि संसाधन फ़ाइलों में मूल्य हैं या नहीं।स्ट्रिंग्स.एक्सएमएल

उपयोग की जाने वाली हर चीज़ को हटाने में सक्षम होने के कारण अनुवाद बिंदु से बहुत उपयोगी होगा।

क्या वहां कोई उपकरण है जो यह कर सकता है?

उत्तर

3

विकल्प 1:

नोट: एक्सएमएल में सीधे संदर्भित संसाधनों और आईडी प्रतिबिंब के माध्यम से भरी हुई के लिए काम नहीं करता।

ध्यान दें कि सभी संसाधनों की जेनरेट की गई आईडी आपके आरजेजा फ़ाइल के अंदर स्थित हैं, यह Eclipse Core Tools का उपयोग करके संभव होना चाहिए।

मेनू विकल्प इस प्रकार है: Find Unreferenced Members

विकल्प 2:

एंड्रॉयड अप्रयुक्त संसाधन कि अप्रयुक्त संसाधनों के लिए अपने परियोजना को स्कैन करेगा एक जावा अनुप्रयोग है। अप्रयुक्त संसाधन स्थान लेते हैं, बिल्ड समय बढ़ाते हैं, और आईडीई की स्वत: पूर्ण सूची को अव्यवस्थित करते हैं।

http://code.google.com/p/android-unused-resources/

+2

लेकिन क्या यह उन स्ट्रिंग संसाधनों की पहचान करने में सक्षम होगा जिन्हें सीधे XML में संदर्भित किया गया है? – curioustechizen

+0

आप सही हैं। इसके बारे में नहीं सोचा था। – mibollma

+0

हाँ, यह एक अच्छा मुद्दा है। यह एक अच्छा उपकरण जैसा दिखता है (अगर मैं इसे वास्तव में काम कर सकता हूं) लेकिन मुझे इसके सरणी संसाधनों और लेआउट्स को भी शामिल करने की आवश्यकता होगी जो तारों का भी संदर्भ लें। –

0

सरल (और धीरे) जिस तरह से है कि मैं एक एक करके, उन्हें नष्ट करने के लिए है के बारे में सोच सकते हैं, और ग्रहण अपनी परियोजना के पुनर्निर्माण करते हैं। यदि यह एक त्रुटि उत्पन्न करता है, तो आप जानते हैं कि इसका उपयोग किया गया था, अन्यथा, आप इसके बिना ठीक हैं।

+0

मैंने इस बारे में सोचा लेकिन मेरे प्रोजेक्ट (एक अच्छे दिन पर) बनाने में लगभग 20 सेकंड लगते हैं जिसका अर्थ है कि इसे पूरा करने में कई घंटे लगेंगे। साथ ही, यदि लेआउट फ़ाइल में केवल एक संदर्भ है, तो क्या आपको अभी भी संकलन त्रुटि मिलती है? –

+0

मुझे लगता है कि आप करते हैं। एक और दृष्टिकोण आपके द्वारा इंस्टॉल किए गए टूल्स पर निर्भर करेगा (कम डिग्री के लिए, ओएस आप जिस पर चल रहे हैं)।एक बैश स्क्रिप्ट लिखना संभव होगा जो यह निर्धारित करने के लिए खोज और grep के उपयोग को नियोजित करता है कि स्ट्रिंग का उपयोग किसी .java या .xml फ़ाइल में कहीं भी किया गया था, तो आप जान सकते थे कि स्ट्रिंग का नाम कहीं भी संदर्भित नहीं किया गया था, और प्रदर्शन सब कुछ के बजाय डेटा के एक छोटे से सबसेट पर उपर्युक्त सुझाव। यह सिर्फ एक विचार है – Travis

0

Android Lint आपका मित्र है। चींटी परियोजना के अंदर, बस टाइप

ant lint 

यह ऐसे मामलों में एक UnusedResource चेतावनी दे देंगे।

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