2017-01-30 15 views
5

मैं दो संभव तरीके एक रिलीज APKबड़ा फर्क - हस्ताक्षरित APK आकार

  1. डिफाइनिंग उत्पाद जायके & कॉन्फ़िग मॉड्यूल build.gradle फ़ाइल में नीचे के रूप में साइन इन करना और फिर चलाएं बटन पर क्लिक उत्पन्न करने के लिए मिला (betaRelease कॉन्फ़िग)

    android { 
    signingConfigs { 
        my_alias { 
         keyAlias 'my_alias' 
         keyPassword '*******' 
         storeFile file('*******') 
         storePassword '******' 
        } 
    } 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    
    defaultConfig { 
        minSdkVersion 16 
        targetSdkVersion 22 
        versionCode 9 
        versionName "0.2" 
        resConfigs "en","hi","te" 
        multiDexEnabled true 
    } 
    
    buildTypes { 
        release { 
         minifyEnabled true 
         shrinkResources true 
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
         signingConfig signingConfigs.my_alias 
        } 
        debug { 
         minifyEnabled false 
        } 
    } 
    
    productFlavors { 
        alpha { 
         applicationId = "***************" 
         resValue 'string', 'app_name', '**********' 
         resValue 'string', 'instabug_app_id','*******************' 
         manifestPlaceholders = [onesignal_app_id    : "*******************", 
               onesignal_google_project_number: "************"] 
        } 
        beta { 
         applicationId = "***************" 
         resValue 'string', 'app_name', '**********' 
         resValue 'string', 'instabug_app_id','*******************' 
         manifestPlaceholders = [onesignal_app_id    : "*******************", 
               onesignal_google_project_number: "************"] 
        } 
    } 
    aaptOptions { 
        additionalParameters "--no-version-vectors" 
    } 
    } 
    
  2. स्टूडियो

एंड्रॉयड में मेनू बिल्ड से हस्ताक्षर उत्पन्न APK विकल्प का उपयोग करना

14.5 एमबी के साथ पहले एपीके के साथ यहां दूसरा अंतर है और दूसरा 22.5 एमबी दे रहा है। एपीके विश्लेषक का उपयोग करके मैं देख सकता था कि दूसरा एक नीचे दिखाए गए रेज़ फ़ोल्डर में ड्रॉबल्स को डुप्लिकेट कर रहा है। छोटी रिलीज एपीके (14.5 एमबी वन) सभी प्रकार के उपकरणों पर अच्छी तरह से काम कर रही है।

enter image description here enter image description here

  1. मैं बड़ा एक आवश्यकता क्यों है? क्या मैं सामान्य स्टोर एपीके को प्ले स्टोर में अपलोड कर सकता हूं?

  2. क्या डुप्लिकेट ड्रॉबल्स से बचने के लिए कोई विन्यास है?

+2

एंड्रॉइड एक्सप्लोरर में अपने ऐप पर राइट क्लिक करें, रिफैक्टर का चयन करें और फिर अप्रयुक्त संसाधनों को हटाने पर क्लिक करें। –

+0

यह पहले से ही हो चुका है! –

उत्तर

2

मैं अपने अवलोकनों के आधार पर इस प्रश्न का उत्तर देने का प्रयास करूंगा।

1.

मैं बड़ा एक आवश्यकता क्यों है? क्या मैं सामान्य स्टोर एपीके को प्ले स्टोर में अपलोड कर सकता हूं?

जब आप क्लिक करके apk रिलीज "रन" बटन आप विशिष्ट डिवाइस (एमुलेटर या यूएसबी डिवाइस) को लक्षित कर रहे हैं और आप केवल इस लक्ष्य के लिए संसाधनों genereting कर रहे हैं। यही कारण है कि आपके पास छोटी। एपीके फ़ाइल है।

यदि आप उपकरणों के सभी घनत्व को तैनात और लक्षित करना चाहते हैं तो आपको सभी उपकरणों के लिए संसाधन (उदा। छवियां) प्रदान करने के लिए "हस्ताक्षर किए गए एपीके जेनरेट करें" विकल्प का उपयोग करना चाहिए।

छोटी रिलीज एपीके (14.5 एमबी वन) सभी प्रकार के उपकरणों पर अच्छी तरह से काम कर रही है।

मुझे लगता है क्योंकि छवियों को स्क्रीन पर फिट करने के लिए स्केल किया गया है। लेकिन आप इस तरह से छवियों पर गुणवत्ता खो रहे हैं।

2.

डुप्लिकेट ड्रॉएबल से बचने के निर्माण के लिए किसी भी विन्यास है?

Providing Resources instruction में

लिखा है कि:

अपने आवेदन के लेआउट दिशा। ldrtl का अर्थ है "लेआउट-दिशा-दाएं से बाएं"। ldltr का अर्थ है "लेआउट-दिशा-बाएं से दाएं" और डिफ़ॉल्ट अंतर्निहित मान है।

इसका मतलब यह है कि आपके पास डुप्लीकेट किए गए ड्रॉबल्स नहीं हैं लेकिन अब वे उचित निर्देशिका में हैं।

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