2016-04-13 9 views
14

मैं ऐप आकार को कम करने के लिए अपने प्रोजेक्ट से अप्रयुक्त संसाधनों को हटाना चाहता हूं। एंड्रॉइड स्टूडियो आईडीई का कुशलता से उपयोग करके ऐसा करने का कोई तरीका है?एंड्रॉइड स्टूडियो का उपयोग कर अप्रयुक्त संसाधनों को हटाएं?

+1

[इसे देखें] (http://cyrilmottier.com/2014/08/26/putting-your-apks-on-diet/) –

+0

संसाधन पर राइट क्लिक करें और उपयोग उपयोग विकल्प पर क्लिक करें। यह प्रदर्शित होगा या नहीं, यह प्रदर्शित होगा। यदि नहीं तो इसे सुरक्षित रूप से हटा दें। – androidnoobdev

+0

इसे देखें: http: //stackoverflow.com/questions/6373482/remove-all-unused-resources-from-an-android-project –

उत्तर

25

Gradle प्रणाली का निर्माण एंड्रॉयड, Resource Shrinking : संसाधन है कि अप्रयुक्त हैं को अपने आप निकलने का समर्थन करता है के लिए निर्माण समय में, पैकेज किया गया एप्लिकेशन में। आपके प्रोजेक्ट में संसाधनों को हटाने के अलावा, जिन्हें वास्तव में रनटाइम पर आवश्यक नहीं है, यह उन पुस्तकालयों से संसाधनों को भी हटा देता है जिन पर आप वास्तव में अपने आवेदन द्वारा आवश्यक नहीं हैं।

उदाहरण के लिए, आपका एप्लिकेशन Google Play सेवाओं का उपयोग कर रहा है उदाहरण के लिए Google ड्राइव कार्यक्षमता तक पहुंचें, और आप वर्तमान में Google साइन इन का उपयोग नहीं कर रहे हैं, तो यह साइन इन बटन के लिए विभिन्न ड्रॉ करने योग्य संपत्तियों को हटा देगा।

नोट:संसाधन हटना केवल कोड सिकुड़ने (जैसे प्रोगार्ड) के संयोजन के साथ काम करता है। इस प्रकार यह पुस्तकालयों से अप्रयुक्त संसाधनों को हटा सकता है; आम तौर पर, लाइब्रेरी में सभी संसाधनों का उपयोग किया जाता है, और यह तब होता है जब हम अप्रयुक्त कोड को हटाते हैं, यह स्पष्ट हो जाता है कि शेष कोड से संसाधनों का संदर्भ दिया जाता है।

संसाधन सिकुड़ने सक्षम करने के लिए, इस प्रकार अपने निर्माण प्रकार को अपडेट:

android { 
    ... 

    buildTypes { 
     release { 
      minifyEnabled true 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

और हाल ही में शुरू की एंड्रॉयड स्टूडियो 2.0 आधिकारिक तौर पर, अब वे आईडीई अपने आप में एक विकल्प दे रहे हैं गूगल।

एप्लिकेशन पर राइट क्लिक करें -> Refactor -> अप्रयुक्त संसाधन

यह

enter image description here

संकेत देगा निकालें बॉक्स से पहले की पुष्टि करें कार्रवाई जांच करें ताकि आप प्राप्त कर सकते हैं अप्रयुक्त @id घोषणाओं से भी छुटकारा पाएं।

  • एपीके अनुकूलन के मामले में Selecting a Format तथ्य पर भी विचार करें।
  • WebP छवियों का उपयोग करें जेपीईजी या पीएनजी की तुलना में बेहतर संपीड़न प्रदान करें। लॉसी वेबपी छवियां एंड्रॉइड 4.0 (एपीआई लेवल 14) और उच्चतर में समर्थित हैं, और एंड्रॉइड 4.3 (एपीआई लेवल 18) और उच्चतर में लापरवाह और पारदर्शी वेबपी छवियां समर्थित हैं।
+0

क्या यह drawables के साथ काम करता है | मिपमैप्स? – Amir

+0

@ एमीर हाँ, यह करता है। –

+0

तो मेरा आवेदन आकार 39.98 एमबी से 39.99 एमबी तक चला गया। लेकिन मैं कल्पना नहीं कर सकता कि हमारे पास कोई अप्रयुक्त संसाधन नहीं है (विशेष रूप से उन सभी पुस्तकालयों में जो हम उपयोग कर रहे हैं)। – 4ndro1d

0

एंड्रॉइड स्टूडियो में। आप एंड्रॉइड लिंट का उपयोग कर सकते हैं। यह ".. स्ट्रिंग्स, संसाधन, आयात" दिखाएगा का उपयोग नहीं

Analyze -> Inspect Code -> Whole Project -> OK 
0
  1. एंड्रॉयड स्टूडियो संयुक्त राष्ट्र से इस्तेमाल किया अनुप्रयोगों या इस्तेमाल किया आवेदनों की कॉल स्टैक से पता चलता है? मेरे लिए, कॉल स्टैक महत्वपूर्ण है। क्या यह दिखाता है?
  2. क्या यह डीएलएल पर काम करता है ... वह गतिशील पुस्तकालय है? उदाहरण: मैंने 4 आवेदन और 10 आम पुस्तकालयों का कहना है। सभी 4 अनुप्रयोग केवल 6 पुस्तकालयों का उपयोग करते हैं और 4 पुस्तकालयों का उपयोग नहीं करते हैं, जो एक गैर-उपयोग संसाधन है और सिस्टम को प्रकाश बनाने के लिए हटाया जाना चाहिए। क्या एंड्रॉइड स्टूडियो 2.0 डीएल के लिए काम करता है?
संबंधित मुद्दे

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