2011-10-06 14 views
7

मैंने एक एंड्रॉइड ऐप का स्रोत कोड इस्तेमाल किया जिसे हमने अतीत में एक और ऐप के आधार के रूप में बनाया था (बहुत सारी कार्यक्षमता समान है, हालांकि मूल ऐप की कार्यक्षमता के बारे में 1/3 हटा दी गई है)।एंड्रॉइड प्रोजेक्ट को कैसे साफ करें?

मैंने स्रोत पेड़ की प्रतिलिपि बनाकर और ग्रहण कार्यक्षेत्र में एक नई परियोजना आयात करके शुरू किया। इसके बाद, मैंने कुछ लेआउट और ड्रॉबल फाइलें और कुछ .java फ़ाइलों को हटा दिया - जिन लोगों को स्पष्ट रूप से किसी नए ऐप में आवश्यकता नहीं है।

अंत में, मैंने नए ऐप को संकलित और परीक्षण किया है। अब मैं प्रोजेक्ट का अधिक से अधिक सफाई करना चाहता हूं जो कि इस्तेमाल नहीं किया गया है।

सभी एक्सएमएल और छवि फ़ाइलों, जावा फाइलों, तारों और रंग संसाधनों को खोजने का सबसे अच्छा तरीका क्या है जो नए ऐप में उपयोग नहीं किए जाते हैं? "उपयोग नहीं किया गया", मेरा मतलब है कि उन्हें किसी भी निष्पादन अनुप्रयोग कोड से संदर्भित नहीं किया जाता है (मुख्य गतिविधि से शुरू होता है, उससे संदर्भित सभी अन्य फ़ाइलों पर जाता है, उन फ़ाइलों से संदर्भित फाइलें - और इसी तरह)।

इस परियोजना में सैकड़ों ड्रायरेबल (उनमें से कई में एचडीपीआई, एमडीपीआई और एलडीपीआई में संस्करण हैं), लगभग सौ या तो लेआउट और एक दर्जन विभिन्न पैकेजों में एक हजार जावा फाइलों के करीब हैं। इसलिए, उन्हें एक-एक करके जांचना एक विकल्प नहीं है।

मार्च 2012 संपादित करें: एंड्रॉइड एसडीके के lint उपकरण का नवीनतम संस्करण अप्रयुक्त संसाधनों को अच्छी तरह से पहचानता है। मुद्दा यह है कि मुझे प्राप्त सैकड़ों अन्य संदेशों से अप्रयुक्त संसाधनों के बारे में संदेश फ़िल्टर करना है। जब मैंने अपने मध्यम आकार के प्रोजेक्ट पर लिंक चलाया, तो मुझे उससे 3,000 से अधिक चेतावनियां मिलीं, जिनमें से अधिकतर मैं कुछ भी करने का इरादा नहीं रखता, क्योंकि लिंट मेरे एक्सएमएल लेआउट के साथ कोड में जो भी करता है उसका विश्लेषण नहीं कर सकता है।

उत्तर

2

चेक बाहर http://code.google.com/p/android-unused-resources/

यह ओपन सोर्स, सक्रिय विकास में है, और बनाया/एक महान डेवलपर द्वारा बनाए रखा है।

+0

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

+0

हाँ, कुछ ऐसे हैं जिन्हें गलत तरीके से मूल्यांकन किया जा सकता है। मुझे लगता है कि उनमें से अधिकतर शैलियों तक सीमित हैं जिनके पास मूल शैली है। –

0

AFAIK, इसके लिए कोई स्वचालित उपकरण नहीं है। मैंने भी अप्रयुक्त संसाधनों का पता लगाने के लिए एक रास्ता खोजा है और निष्कर्ष पर पहुंचा है कि इसके लिए कोई उपकरण नहीं है। साथ ही, आप अप्रयुक्त जावा फ़ाइलों के बारे में बात कर रहे हैं, जो मुझे लगता है कि पूरा करना मुश्किल है (वास्तव में यह पता लगाना मुश्किल है कि कौन सी गतिविधियां/सेवाएं/रिसीवर/प्रदाता वास्तव में उपयोग किए जाते हैं आदि)।

जो मैं सुझाव देता हूं वह संसाधनों और कक्षाओं के लिए प्रोजेक्ट ट्री के माध्यम से गड़बड़ कर रहा है, जिन्हें आप संदेह करते हैं अब और उपयोग नहीं किया जाता है जो कहीं भी दिखाई नहीं देते हैं।

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

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