2015-02-16 14 views
5

मैं अपने प्रोजेक्ट एम 1 के तहत 2 मॉड्यूल, M2मॉड्यूल निर्भरता - एंड्रॉयड स्टूडियो

Project 
    - M1 
    - M2 

इससे पहले है, मैं अपने प्राथमिक आवेदन के रूप में एम 1 था। हालांकि, नए एप्लिकेशन एम 2 की आवश्यकता थी जिसने एम 1 के साथ बहुत सी सामान्य सामग्री साझा की। इसलिए, मैंने निर्भरता के रूप में एम 1 के साथ एक नया मॉड्यूल एम 2 बनाया।

इस लक्ष्य को हासिल करने के लिए, मैं एम 1 और M2 के build.gradle संशोधित कर लिया है इस प्रकार है:

M2:

compile project(':M1') 

एम 1: (पुस्तकालय में बदला गया)

apply plugin: 'com.android.library' 

हालांकि, यह काम नहीं करता है और त्रुटि को फेंकता है:

Could not find property 'applicationVariants' on [email protected] 

कोई विचार, इस मुद्दे को हल करने के तरीके पर कोई विचार?

उत्तर

13

डॉक्स से: केवल पुस्तकालय के लिए (

applicationVariants (केवल एप्लिकेशन प्लगइन के लिए)

libraryVariants:

In Android projects, this is a bit more complicated because there could be a large number of the same task and their name is generated based on the Build Types and Product Flavors.

आदेश इसे ठीक करने के लिए, एंड्रॉयड वस्तु दो गुण है प्लगइन)

testVariants (दोनों प्लगइन्स के लिए)

सभी तीन क्रमशः ApplicationVariant, LibraryVariant, और TestVariant ऑब्जेक्ट्स का एक DomainObjectCollection लौटाते हैं।

http://tools.android.com/tech-docs/new-build-system/user-guide

तो यह है कि एम 1 में अपने build.gradle संपत्ति applicationVariants जो पुस्तकालय परियोजनाओं पर लागू नहीं है का उपयोग करता है लगता है। चूंकि मुझे नहीं पता कि आप वास्तव में क्या कर रहे हैं, मैं बस अनुमान लगा सकता हूं कि आपको या तो libraryVariants के साथ प्रतिस्थापित करने की आवश्यकता है या (2) इसे M2 के build.gradle पर ले जाएं।

+0

मुझे यकीन नहीं है कि मैं समझता हूं: क्या एम 1 के build.gradle में अभी भी एप्लिकेशन वेरिएंट हैं या नहीं? –

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