मेरे पास एक बहुत बड़ा एंड्रॉइड प्रोजेक्ट है जिसमें कई तार हैं strings.xml। मैं अप्रयुक्त तार को हटाना चाहता था strings.xml।
क्या ऐसा करने का कोई आसान तरीका है?
मेरे पास एक बहुत बड़ा एंड्रॉइड प्रोजेक्ट है जिसमें कई तार हैं strings.xml। मैं अप्रयुक्त तार को हटाना चाहता था strings.xml।
क्या ऐसा करने का कोई आसान तरीका है?
जवाबों:
पर एंड्रॉयड स्टूडियो :
मेनू -> विश्लेषण -> नाम से निरीक्षण चलाएँ -> अप्रयुक्त संसाधनों
फ़ाइल मास्क चेक करें और strings.xmlटेक्स्ट फ़ील्ड में डालें।
tools:ignore="UnusedResources"
यहां एक और समाधान है जो काफी आसान है। एंड्रॉइड स्टूडियो मेनू में जाएं
Refactor> अप्रयुक्त संसाधन निकालें ... ।
अप्रयुक्त संसाधनों को देखने के लिए पूर्वावलोकन पर क्लिक करें और चुनिंदा रूप से उन्हें हटा दें।
मेरे मामले में "नाम से रन निरीक्षण" काम नहीं किया था, इस तथ्य के बावजूद कि मैं "अप्रयुक्त संसाधनों को निकालें" का उपयोग कर रहा था।
उपाय:
मुझे कोई सुराग नहीं है कि "अप्रयुक्त संसाधनों को निकालें" एक तरह से काम करता है लेकिन दूसरे को नहीं।
ADT 16 के साथ आप इसे यथासंभव सरल कर सकते हैं। ADT 16 में अपडेट करें और Android Lint का उपयोग करें । यह वास्तव में अद्भुत उपकरण है। यह सभी अप्रयुक्त संसाधनों (न केवल तार) और कई और अधिक पा सकते हैं । इसकी आधिकारिक साइट से:
Here are some examples of the types of errors that it looks for:
- Missing translations (and unused translations)
- Layout performance problems (all the issues the old layoutopt tool used to find, and more)
- Unused resources
- Inconsistent array sizes (when arrays are defined in multiple configurations)
- Accessibility and internationalization problems (hardcoded strings, missing contentDescription, etc)
- Icon problems (like missing densities, duplicate icons, wrong sizes, etc)
- Usability problems (like not specifying an input type on a text field)
- Manifest errors
and many more.
Warning: The resource R.string.... appears to be unused [UnusedResources] [lint] <string name="...">some text</string>
String.xml की जाँच करने के लिए।
यह आसान है (कम से कम मेरे ग्रहण के संस्करण में)
Android के लिए ग्रहण में (मेरे पास संस्करण v22.6.2-1085508 है)
अब जब आप स्ट्रिंग्स खोलते हैं। xml, तो आप देखेंगे कि अप्रयुक्त स्ट्रिंग हाइलाइट किए गए हैं।
आप अन्य संभावित मुद्दों को ठीक कर सकते हैं।
एंड्रॉइड स्टूडियो प्रेस में
Ctlr + Alt + Shift + मैं
चयन करें -> अप्रयुक्त संसाधन
यह आपको अप्रयुक्त स्ट्रिंग और आइकन दिखाता है।
धन्यवाद हैप्पी कोडिंग :)
यह मैंने इसे एंड्रॉइड 3.3 के साथ कैसे किया।
अपने रिपॉजिटरी में किसी भी सहेजे नहीं गए परिवर्तनों की जाँच करें।
नोट: परियोजना के निर्माण का प्रयास करें। यदि संकलन विफल हो जाता है, तो इसकी सबसे अधिक संभावना है कि ये तार। Xml कुछ लेआउट / मेनू xmls से संदर्भित किए जा रहे हैं, जो स्वयं अप्रयुक्त हैं। तो उन लेआउट xmls को मैन्युअल रूप से भी हटाया जा सकता है!
बनाएँ और चलाएँ। परीक्षा!
इस स्क्रिप्ट को अपने प्रोजेक्ट के रूट से चलाएँ।
रिसोर्सफाइल के लिए `खोज रेस / मान / *। xml`; करना
`grep 'में stringname के लिए। * / \ 1 / g'`; करना
count1 = `grep -rc" R.string। $ {stringname} "src | egrep -v ': 0 $' | wc -l`
count2 = `grep -rc" @string / $ {stringname} "रेस / लेआउट | egrep -v ': 0 $' | wc -l`
count3 = `grep -rc" @string / $ {stringname} "res / मेनू | egrep -v ': 0 $' | wc -l`
count4 = `grep -rc" @string / $ {stringname} "AndroidManifest.xml | egrep -v '^ 0 $' | wc -l`
count5 = `grep -rc" @string / $ {stringname} "res / xml | egrep -v ': 0 $' | wc -l`
अगर [$ count1 -eq 0 -a $ count2 -eq 0 -a $ count3 -eq 0 -a $ count4 -eq 0 -a $ count5 -eq 0]; फिर
इको $ रिसोर्सफाइल: $ स्ट्रिंगनाम
फाई
किया हुआ
किया हुआ
'खोजने के लिए res Rescename' के लिए 'res / drawable * -type f -name' *। ??? '' ` करना
संसाधन = `प्रतिध्वनि $ प्रतिध्वनि | xargs बेसन | sed "s / ^ \ ((। * \) \ .... $ / \ 1 / g" `
count1 = `grep -rc" R \। प्रत्याहार \ "। $ {संसाधन}" src | egrep -v ': 0 $' | wc -l`
count2 = `grep -rc" @ वापस लेने योग्य / $ {संसाधन} "रेस / लेआउट | egrep -v ': 0 $' | wc -l`
काउंट 3 = `grep -rc" @ वापस लेने योग्य / $ {संसाधन} "रेस / ड्रा करने योग्य * / *। xml | egrep -v ': 0 $' | wc -l`
count4 = `grep -rc" @ पैसे निकालने योग्य / $ {संसाधन} "रेस / मेनू | egrep -v ': 0 $' | wc -l`
count5 = `grep -rc" @drawable / $ {रिसोर्स} "AndroidManifest.xml | egrep -v '^ 0 $' | wc -l`
अगर [$ count1 -eq 0 -a $ count2 -eq 0 -a $ count3 -eq 0 -a $ count4 -eq 0 -a $ count5 -eq 0]; फिर
$ गूंजना गूंज
फाई
किया हुआ
`खोज रेस / लेआउट / *। xml` में resourcename के लिए; करना
संसाधन = `प्रतिध्वनि $ प्रतिध्वनि | xargs बेसन | sed "s / ^ \ ((। * \) \ .... $ / \ 1 / g" `
count1 = `grep -rc" R \ .layout \ "। $ {संसाधन}" src | egrep -v ': 0 $' | wc -l`
अगर [$ count1 -eq 0]; फिर
$ गूंजना गूंज
फाई
किया हुआ
यह मुझे इस तरह का आउटपुट देता है:
Res / मान / activity_strings.xml: activity_more Res / मान / activity_strings.xml: activity_as_reply_to Res / मान / db_strings.xml: sql_backlog_count Res / मान / db_strings.xml: sql_backlog_update_last_resend ...
Custom scope,Production classesappvalues