2015-09-01 21 views
7

से अबी को बाहर निकालें मेरे आवेदन में मैं प्रतिपादन का उपयोग करता हूं जिसमें x86, armeabi-v7a और mips (~ 2.7 एमबी प्रत्येक) के लिए मूल कोड है। इसके अलावा मैंने पढ़ा कि मिप्स आर्किटेक्चर में कुछ ही डिवाइस हैं। तो मैं अपने आवेदन को दो एपीके में बंडल करना चाहता हूं: सार्वभौमिक (उदाहरण के लिए x86 और armeabi-v7a) और mips। मैंने पाया कि विभाजन खंड मिप्स के लिए एपीके बनाने में मदद करता है, लेकिन सार्वभौमिक एपीके में अभी भी मिप्स आर्किटेक्चर शामिल है। तो मेरा सवाल है कि परिणाम एपीके से अबी को कैसे बाहर निकालना है?एपीके

धन्यवाद

उत्तर

7

आप किसी अन्य स्वाद सब कुछ लेकिन MIPS जिसमें स्थापित करने की कोशिश कर सकते हैं। परीक्षण परियोजनाओं है कि Android Gradle प्लगइन स्रोतों का हिस्सा हैं में से एक से build.gradle फ़ाइल में मैंने पाया है इस:

apply from: "../commonHeader.gradle" 
buildscript { apply from: "../commonBuildScript.gradle", to: buildscript } 
apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 21 
    buildToolsVersion = rootProject.ext.buildToolsVersion 
    productFlavors { 
     x86 { 
      ndk { 
       abiFilter "x86" 
      } 
     } 
     arm { 
      ndk { 
       abiFilters "armeabi-v7a", "armeabi" 
      } 
     } 
     mips { 
      ndk { 
       abiFilter "mips" 
      } 
     } 
    } 
} 

यह मूल रूप से उनके arm स्वाद की तरह दिखता है दो आम एआरएम कपड़े भी शामिल है। आप शायद x86 और armeabi-v7a युक्त "सार्वभौमिक" स्वाद को परिभाषित कर सकते हैं।

splits { 
    abi { 
     enable true 
     reset() 
     include 'x86', 'armeabi-v7a', 'mips' 
    } 
} 

तो आपको कुछ ऐसा उपयोग करने के लिए, और वहाँ से mips ड्रॉप सक्षम हो सकता है:

वे एक और test project जिसका build.gradle शामिल है।

+0

वर्तमान में ndk {} अनुभाग बहिष्कृत है। क्या आप इसका इस्तेमाल करने का एक और तरीका है? – Vetalll

+0

यह उत्पाद स्वादों का उपयोग किए बिना भी किया जा सकता है, आप केवल अपने डीबग या रिलीज सेक्शन में एनडीके अनुभाग जोड़ सकते हैं। यहां देखें http://stackoverflow.com/questions/30946365/how-to-import-only-selected-native-library-abis-from-aar – sham

+0

@Vetalll आप gradroid.properties में android.useDeprecatedNdk = true का उपयोग कर सकते हैं। हालांकि, मुझे यकीन नहीं है – Killer

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