2012-03-14 15 views
6

मुझे मैवेनाइज्ड एंड्रॉइड एप्लिकेशन मिला है और ग्राहक बिल्डिंग समय पर स्किनिंग के लिए समर्थन चाहता है।मेवेन बिल्डिंग प्रोफाइल के साथ स्किनिंग एंड्रॉइड ऐप

उदाहरण के लिए: mvn स्वच्छ -पी डेवलपर, mvn साफ स्थापित -पी Customer1, स्थापित mvn साफ स्थापित -पी Customer2

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

मेरा पहला विचार मानक आरएस निर्देशिका के साथ समानांतर में res-customer1, res-customer2 जैसे फ़ोल्डर्स होना था और pom.xml में प्रोफ़ाइल परिभाषा में स्वैप करना था, इसे फिर से नाम देने के लिए नाम बदलें, लेकिन ऐसा प्रतीत नहीं होता है काम। मुझे हमेशा निर्माण में मूल res फ़ोल्डर मिलता है और इस मामले में, डुप्लिकेट त्रुटि।

क्या इसका मतलब यह है कि स्वैपिंग के अंदर स्वैपिंग होनी चाहिए? मैंने एंड्रॉइड मेवेन प्लगइन की कॉन्फ़िगरेशन में resourceDirectory निर्दिष्ट नहीं किया था।

मैं बहुत गुगल रहा हूं, लेकिन अब तक, मुझे किसी भी मुद्दे के साथ कोई नहीं मिला। इसे कैसे हल करें? क्या इसके लिए कोई सामान्य पैटर्न है?

अग्रिम

+1

आप वास्तव में करने की कोशिश की कल्पना: अलग ढंग से, तो आप इस शानदार ब्लॉग पोस्ट का अनुसरण कर सकते ify संसाधन निर्देशिका प्रत्येक प्रोफ़ाइल में एंड्रॉइड maven की विन्यास में? उदाहरण के लिए $ {project.basedir}/res-custom1। जैसा कि आप उम्मीद करते हैं यह काम करना चाहिए। – yorkw

+0

मैं इस पर काम कर रहा हूं, ऐसा लगता है कि आप सही हैं, मेरे दोस्त। मैं निश्चित उत्तर के साथ वापस आऊंगा, लेकिन बहुत से धन्यवाद। – MartinC

+0

ठीक है, यह काम करता है, आपने मेरा दिन बनाया, yorkw :) बहुत बहुत धन्यवाद। – MartinC

उत्तर

1

आप अलग अलग buid प्रोफाइल के लिए विभिन्न परिसंपत्तियों या संसाधनों का उपयोग करना चाहते हैं और तुम भी प्रत्येक निर्माण के कई ऐसे निर्देशिका मर्ज करना चाहते हैं, तो

https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/

+0

धन्यवाद, मुझे एक नजर आएगी – MartinC

+0

@ ब्लैकहेक्स लिंक अब मान्य नहीं है: चेतावनी! इस डोमेन के लिए डोमेन मैपिंग अपग्रेड नहीं मिला। कृपया इस डोमेन का उपयोग करने के लिए लॉग इन करें और अपने ब्लॉग के डोमेन अपग्रेड पेज पर जाएं। – NightSkyDev

+0

लिंक अपडेट किया गया, अधिसूचना के लिए धन्यवाद। – Blackhex

6

में बहुत धन्यवाद yorkw से जवाब के आधार पर, इस समाधान मेरे लिए काम करता है:

प्रत्येक प्रोफ़ाइल के लिए, resourceDirectory एंड्रॉयड Maven प्लगइन का विन्यास को में जोड़ा जाना चाहिए।

उदाहरण के लिए

:

<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory> <resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>

आदि ...

+0

क्या मल्टीपल संसाधन और संपत्ति निर्देशिकाएं हो सकती हैं जो स्वचालित रूप से ग्रैडल में विलय हो जाएंगी? – Blackhex

+0

यह है! इस सवाल का मेरा जवाब देखें। – Blackhex

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