আমার কাছে একটি বিশাল অ্যান্ড্রয়েড প্রকল্প রয়েছে যার সাথে অনেকগুলি স্ট্রিং ঘোষণা করা হয়েছিল strings.xml। আমি অব্যবহৃত স্ট্রিংগুলি ভিতরে সরাতে চেয়েছিলাম strings.xml।
এটি করার কোন সহজ উপায় আছে?
আমার কাছে একটি বিশাল অ্যান্ড্রয়েড প্রকল্প রয়েছে যার সাথে অনেকগুলি স্ট্রিং ঘোষণা করা হয়েছিল strings.xml। আমি অব্যবহৃত স্ট্রিংগুলি ভিতরে সরাতে চেয়েছিলাম strings.xml।
এটি করার কোন সহজ উপায় আছে?
উত্তর:
উপর অ্যান্ড্রয়েড স্টুডিও :
মেনু -> বিশ্লেষণ করুন -> নাম অনুসারে পরিদর্শন চালান -> অব্যবহৃত সংস্থান
ফাইল মাস্ক (গুলি) চেকবাক্স পরীক্ষা strings.xmlকরে পাঠ্য ক্ষেত্রে রাখুন।
tools:ignore="UnusedResources"
এখানে আরও একটি সমাধান যা মোটামুটি সহজ। অ্যান্ড্রয়েড স্টুডিও মেনুতে যান
Refactor> অব্যবহৃত সম্পদ সরান ... ।
অব্যবহৃত সংস্থানগুলি কী তা দেখার জন্য প্রাকদর্শন ক্লিক করুন এবং সেগুলি নির্বাচিতভাবে সরান।
আমার ক্ষেত্রে "রান ইন্সপেকশন বাই নেম" কাজ করেনি, যদিও আমি "অব্যবহৃত সংস্থানগুলি সরান" ব্যবহার করেছিলাম despite
সমাধান:
"অব্যবহৃত রিসোর্সগুলি সরান" কেন এক উপায়ে কাজ করে তবে অন্যটি নয় বলে আমার কোনও ধারণা নেই।
ADT 16 দিয়ে আপনি এটি যথাসম্ভব সহজ করতে পারেন। এডিটি 16 এ আপডেট করুন এবং অ্যান্ড্রয়েড লিন্ট ব্যবহার করুন । এটি সত্যই আশ্চর্যজনক সরঞ্জাম। এটি সমস্ত অব্যবহৃত সংস্থান (কেবল স্ট্রিং নয়) এবং আরও অনেক কিছু পেতে পারে। এর অফিসিয়াল সাইট থেকে:
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>
স্ট্রিং.এক্সএমএল পরীক্ষা করতে।
এটি সহজ (অন্তত আমার গ্রহের সংস্করণে)
অ্যান্ড্রয়েডের জন্য গ্রহপসে (আমার কাছে v22.6.2-1085508 সংস্করণ রয়েছে)
এখন আপনি স্ট্রিং.এক্সএমএল খুললে দেখবেন অব্যবহৃত স্ট্রিংটি হাইলাইট হয়েছে।
আপনি অন্যান্য সম্ভাব্য সমস্যাগুলি সমাধান করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও প্রেসে
Ctlr + alt + শিফট আমি +
নির্বাচন করুন -> অব্যবহৃত সংস্থানসমূহ
এটি আপনাকে অব্যবহৃত অব্যবহৃত স্ট্রিং এবং আইকন দেখায়।
ধন্যবাদ শুভ কোডিং :)
এইভাবে আমি অ্যান্ড্রয়েড 3.3 দিয়ে এটি করেছি।
আপনার ভাণ্ডারে অরক্ষিত কোনও পরিবর্তন দেখুন।
দ্রষ্টব্য: প্রকল্পটি নির্মাণের চেষ্টা করুন। সংকলন ব্যর্থ হলে, সম্ভবত এই স্ট্রিংস। এক্সএমএল কিছু লেআউট / মেনু xmls থেকে উল্লেখ করা হচ্ছে, যা তারা নিজেরাই অব্যবহৃত। সুতরাং এই লেআউট xmls এছাড়াও ম্যানুয়ালি মুছে ফেলা যেতে পারে!
বিল্ড এবং রান করুন। টেস্ট!
আপনার প্রকল্পের মূল থেকে এই স্ক্রিপ্টটি চালান।
res রিসো / মানগুলি / * xML` সন্ধান করুন এ রিসোর্সফায়ালের জন্য; করা
string গ্রেপ 'স্ট্রিংনামের জন্য। * / \ 1 / জি'`; করা
count1 = `grep -rc" R.string। $ {stringname name "src | egrep -v ': 0 $' | wc -l`
গণনা 2 = `গ্রেপ-আরসি" @ স্ট্রিং / {{স্ট্রিং নাম res "রেজ / লেআউট | egrep -v ': 0 $' | wc -l`
count3 = `grep -rc" @string / $ {স্ট্রিং নাম res "রেজ / মেনু | egrep -v ': 0 $' | wc -l`
গণনা 4 = `গ্রেপ-সিআর" @ স্ট্রিং / name {স্ট্রিং নাম Android "অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল | egrep -v '^ 0 $' | wc -l`
গণনা 5 = `গ্রেপ-আরসি" @ স্ট্রিং / $ {স্ট্রিং নাম res "রেজ / এক্সএমএল | egrep -v ': 0 $' | wc -l`
যদি [$ count1 -eq 0 -a $ count2 -eq 0 -a $ count3 -eq 0 -a $ count4 -eq 0 -a $ count5 -eq 0]; তারপর
প্রতিধ্বনি $ রিসোর্সফাইল: $ স্ট্রিং নাম
ফাই
সম্পন্ন
সম্পন্ন
resource সন্ধান করুন রেজো / ড্রয়যোগ্য * -প্রকার-এফ-নাম '*। ???' in; করা
রিসোর্স = `ইকো $ রিসোর্নাম | xargs বেসনাম | সেড "এস / ^ \ (। * \) \ .... $ / \ 1 / জি" `
গণনা 1 = `গ্রেপ-আরসিআর" আর \। পুনর্নযোগ্য \। $ {উত্স} "এসআরসি | egrep -v ': 0 $' | wc -l`
গণনা 2 = `গ্রেপ-সিআর" @ ড্রায়েবল / $ {রিসোর্স} "রেজ / লেআউট | egrep -v ': 0 $' | wc -l`
গণনা 3 = `গ্রেপ-আরসি" @ ড্রায়েবল / $ $ রিসোর্স} "রেজো / ড্রয়যোগ্য * / *। এক্সএমএল | egrep -v ': 0 $' | wc -l`
গণনা 4 = `গ্রেপ-আরসি" @ ড্রায়েবল / $ {রিসোর্স} "রেজ / মেনু | egrep -v ': 0 $' | wc -l`
গণনা 5 = `গ্রেপ-আরসি" @ ড্রায়েবল / $ {রিসোর্স} "অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল | egrep -v '^ 0 $' | wc -l`
যদি [$ count1 -eq 0 -a $ count2 -eq 0 -a $ count3 -eq 0 -a $ count4 -eq 0 -a $ count5 -eq 0]; তারপর
প্রতিধ্বনি $ উত্স নাম name
ফাই
সম্পন্ন
`সন্ধান করুন রেজ্য / লেআউট / * xML`- এ রিসোর্সনামের জন্য; করা
রিসোর্স = `ইকো $ রিসোর্নাম | xargs বেসনাম | সেড "এস / ^ \ (। * \) \ .... $ / \ 1 / জি" `
count1 = `grep -rc" R \ .layout \। $ {উত্স} "src | egrep -v ': 0 $' | wc -l`
যদি [$ count1 -eq 0]; তারপর
প্রতিধ্বনি $ উত্স নাম name
ফাই
সম্পন্ন
এটি আমাকে এই ধরণের আউটপুট দেয়:
পুনরায় / মান / ক্রিয়াকলাপ_স্ট্রিং.এক্সএমএল: ক্রিয়াকলাপ_আর পুনরায় / মান / ক্রিয়াকলাপ_স্ট্রিং.এক্সএমএল: ক্রিয়াকলাপ_আর_প্রথা_ res / মান / db_strings.xml: sql_backlog_count res / মান / db_strings.xml: sql_backlog_update_last_resend ...
Custom scopeবেছে বেছে সংজ্ঞায়িত করতে পারেন -Production classesappvalues