2014-10-17 10 views
29

मैंने एंड्रॉइड स्टूडियो मॉड्यूल के रूप में एंड्रॉइड लाइब्रेरी बनाई है। मेरे रूट मॉड्यूल पर निर्भरता के रूप में जोड़ा गया। कोडिंग करते समय मैं पुस्तकालय पैकेज से किसी भी वर्ग को आयात कर सकता हूं लेकिन जब मैं एप्लिकेशन चलाने की कोशिश कर रहा हूं तो मुझे package some.mylibrary.project does not exist त्रुटि मिल रही है।एंड्रॉइड स्टूडियो लाइब्रेरी "त्रुटि: पैकेज मौजूद नहीं है"

build.gradle जड़ मॉड्यूल

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.12.+' 
    } 
} 
apply plugin: 'com.android.application' 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile 'com.android.support:appcompat-v7:20.+' 
    compile 'com.google.android.gms:play-services:5.+' 
    compile project(':libraries:mylibrary') 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "20.0.0" 

    lintOptions { 
     disable 'InvalidPackage' 
     checkReleaseBuilds false 
     abortOnError false 
    } 

    *** 
} 

build.gradle पुस्तकालय मॉड्यूल

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.12.+' 
    } 
} 

apply plugin: 'com.android.application' 
apply plugin: 'idea' 

android { 
    compileSdkVersion 17 
    buildToolsVersion "20.0.0" 

    *****  
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

settings.gradle

include ':libraries:mylibrary' 

पीएस मुझे यह उल्लेख करना होगा कि परियोजना ग्रहण आईडीई से निर्यात की गई थी ताकि परियोजना संरचना डिफ़ॉल्ट से अलग हो।

उत्तर

12

यदि आपके पास लाइब्रेरी मॉड्यूल है, तो यह मॉड्यूल परिभाषा में apply plugin: 'com.android.application' कथन का उपयोग नहीं कर सकता है, या बिल्ड देखकर चुपचाप विफल हो जाएगा। इसके बजाय apply plugin: 'com.android.library' का उपयोग करें।

एक बग अनुरोध करने के लिए है कि निर्माण प्रणाली जोर बजाय चुपचाप जब ऐसा होता है की असफल दायर की गई है: https://code.google.com/p/android/issues/detail?id=76725

+1

पूरी तरह से काम किया है, धन्यवाद! – MathieuMaree

+0

त्रुटि: (2, 0) आईडी 'com.android.library' के साथ प्लगइन नहीं मिला। – Machado

+13

हम्म, यह त्रुटि मेरे पुस्तकालय मॉड्यूल में मेरे लिए होती है। यह 'प्लगइन लागू करें' का उपयोग नहीं करता है: com.android.application'' –

10

Android के लिए स्टूडियो 2.2.2

हाँ, पुस्तकालय मॉड्यूल में, यह कर सकते हैं ' लागू प्लगइन का उपयोग नहीं करें: मॉड्यूल परिभाषा में com.android.application कथन, हां, लागू प्लगइन का उपयोग करें: com.android.library इसके बजाए। (Lib मॉड्यूल में अभी भी)

लेकिन तब आप निम्नलिखित क्या करना है:

  1. दोनों मॉड्यूल के लिए Gradle फाइलों में ही SDK संस्करण बताएं। > खुला मॉड्यूल सेटिंग्स "निर्भरता" पर
  2. क्लिक करें टैब + नई निर्भरता जोड़ सकते हैं और चयन करने के लिए हस्ताक्षर "मॉड्यूल निर्भरता" पर
  3. क्लिक करें -
  4. अपनी परियोजनाओं "एप्लिकेशन" मॉड्यूल फ़ोल्डर और पर क्लिक करें पर राइट क्लिक करें
  5. आपको जिस लाइब्रेरी की आवश्यकता है उसे जोड़ें और इसे जोड़ें।

अपने lib मॉड्यूल नामकरण करते समय राजधानियों से बचें।

-3

अपना काम संकलन 'io.github.kobakei: ratethisapp: 1.2.0'

+0

मुझे आपका उत्तर समझ में नहीं आता है। यदि यह ओपीएस प्रोजेक्ट में डालने के लिए कोड है तो कृपया टिप्पणी करें कि यह कहां जाना चाहिए। –

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