2015-07-02 12 views
13

में सीपीयू एबीआई विभाजित करते समय एंड्रॉइड उत्पाद स्वादों पर विचार नहीं किया जाता है। मैं http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits के अनुसार सीपीयू एबीआई के आधार पर एपीके स्प्लिट बनाना चाहता हूं, हालांकि मैं केवल एक निश्चित उत्पाद स्वाद के लिए एपीके को विभाजित करना चाहता हूं।build.gradle

तो मेरी build.gradle फ़ाइल में निम्नलिखित उत्पाद स्वाद plain और market हैं। वास्तव में मैं market स्वाद बनाने के दौरान एपीके विभाजन करना चाहता हूं।

android { 
    productFlavors { 
     plain { 
     } 
     market { 
      splits { 
       abi { 
        enable true 
        reset() 
        include 'armeabi', 'armeabi-v7a', 'x86', 'mips' 
        universalApk true 
       } 
      } 
     } 
    } 
} 

हालांकि, जब मैं gradle assemblePlainDebug और assembleMarketDebug आह्वान, उन दोनों का उत्पादन एकाधिक APK। क्या उपरोक्त विन्यास में कुछ गड़बड़ है?

मैं com.android.tools.build:gradle:1.2.3 का उपयोग कर रहा हूं।

+0

मैंने इसे एक बग के रूप में रिपोर्ट किया: https://code.google.com/p/android/issues/detail?id=178606 अभी तक मेरे अलावा कोई सितार नहीं हैं। यदि आप एक ही समस्या का अनुभव करते हैं तो कृपया उस समस्या को तारांकित करने में सहायता करें। – yuku

उत्तर

8

मैं थोड़ी देर के लिए ऐसा करने का एक तरीका ढूंढ रहा हूं और ठोस समाधान नहीं मिला है। BuildTypes और productFlavors को हल करने से पहले विभाजित होने वाले विभाजनों के साथ कुछ करना है।

Android Gradle - is use splits only for release possible? प्रश्न का उत्तर था कि मैंने उपयोगी सोचा था। यह मूल रूप से प्रोजेक्ट प्रॉपर्टी पर निर्भर करता है, जब कमांड लाइन या निरंतर एकीकरण आविष्कार के माध्यम से निर्माण होता है, तो मौसम सेट करने के लिए विभाजित एपीके का विकल्प सक्षम होता है या नहीं।

splits { 
    abi { 
     enable project.hasProperty('splitApk') 
     reset() 
     include 'x86', 'armeabi-v7a', 'mips', 'armeabi' 
     universalApk true 
    } 
} 

और उसके बाद क्या falvour या प्रकार आप का निर्माण कर रहे निर्माण पर निर्भर करता है कि आप शामिल कर सकते हैं:

मैं इस तरह इसका इस्तेमाल किया

./gradlew --project-prop splitApk assembleMarketDebug 

यह तो केवल जब स्पष्ट रूप से apk विभाजन सक्षम होना चाहिए भी कहा और बाकी सब कुछ के लिए अक्षम रहना चाहिए।

+0

समाधान के लिए धन्यवाद, यह काम किया। मुझे X86 आर्किटेक्चर में केवल निर्माण के लिए सी ++ यूनिट परीक्षण के साथ एक स्वाद चाहिए। – Dzamir

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