2015-11-03 11 views
6

जब मैं एंड्रॉयड स्टूडियो में एक Android लाइब्रेरी प्रोजेक्ट का निर्माण करने के लिए कोशिश कर रहा हूँ, मैं निम्नलिखित Gradle त्रुटि हो रही है:Gradle त्रुटि: आईडी के साथ प्लगइन 'com.android.library' नहीं मिला

Gradle sync failed: Plugin with id 'com.android.library' not found. 

मैं ग्रैडल के लिए काफी नया हूं और यह मेरे लिए बहुत भ्रमित है। ये क्यों हो रहा है?

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.0' 
} 
+0

रूट फ़ोल्डर में build.gradle फ़ाइल पोस्ट करें –

+0

जिस फ़ाइल को मैंने ऊपर चिपकाया है वह रूट फ़ोल्डर पर है। – jackofblades

+2

यह मुद्दा है। आप गलत build.gradle का उपयोग कर रहे हैं।नीचे मेरा जवाब देखें। –

उत्तर

12

आपकी समस्या यह है कि आप शीर्ष-स्तरीय फ़ाइल का उपयोग कर रहे हैं जहां आप इस तरह की प्लगइन का उपयोग नहीं कर सकते हैं।

के रूप में आप इस तरह एक संरचना है में:

Root/ 
+ lib 
    | build.gradle 
| build.gradle 
| settings.gradle 

में अपने उच्चतम स्तर के फ़ाइल का उपयोग कर सकते हैं:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
buildscript { 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:1.3.1' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

में अपने lib/build.gradle आप कोड में तैनात उपयोग कर सकते हैं प्रश्न:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.0' 
} 
अंत में

अपने settings.gradle

include ':lib' 

इसके अलावा, आप this question उल्लेख कर सकते हैं।

+0

मदद के लिए धन्यवाद! – jackofblades

+0

धन्यवाद @ गैब्रिएल। जैसा कि मैं इसे समझता हूं, 'निर्भरता { classpath 'com.android.tools.build:gradle:1.3.1' }' एंड्रॉइड टूल लाइब्रेरी खींचने के लिए ग्रैडल को बताता है - जिसमें com.android.library पैकेज - से 'भंडारों द्वारा विस्तृत भंडार { जांसर() } ' – WillC

2

मान लिया जाये कि आप निम्नलिखित की तरह एक मानक परियोजना संरचना है::

yourProject/ 
+ .idea/ 
+ gradle/wrapper/ 
+ lib-module/ 
    | build.gradle 
| build.gradle 
| gradlew 
| gradlew.bat 
| settings.gradle 

सिंक करने में आपकी विफलता अपने SDK में समस्या का संकेत करने लगता है

build.gradle फ़ाइल इस प्रकार है/आईडीई कॉन्फ़िगरेशन।

"परियोजना संरचना" संवाद खोलकर प्रारंभ करें और सुनिश्चित करें कि "एंड्रॉइड एसडीके स्थान:" मान सही पथ पर सेट है।

दूसरा, एसडीके प्रबंधक खोलें और फिर सुनिश्चित करें कि आपके पास सही एसडीके स्थान पथ सेट है।

तीसरा, सत्यापित करें कि आपके पास "एंड्रॉइड एसडीके बिल्ड-टूल्स" पैकेज का सही संस्करण स्थापित है। (23.0.2 इस मामले में)

अंत में सिर्फ सत्यापित करने के लिए कि हम किसी भी खराब स्थिति मैं एक फ़ाइल से "अमान्य और पुनः प्रारंभ" करने की सलाह देते नहीं है -> "अमान्य कैश/पुनरारंभ ..."

इस सब के बाद मैं उम्मीद करता हूं कि इसे सिंक करना चाहिए। यदि आपकी परियोजना की रूट से ./gradlew चलाने की कोशिश न करें और हमें किसी भी नई जानकारी के साथ अपडेट करें।

+0

मैंने उपरोक्त सभी चरणों का पालन किया। मेरे एसडीके के लिए पथ सही हैं और एंड्रॉइड एसडीके बिल्ड-टूल्स संस्करण 23.0.2 के साथ स्थापित है। मैं भी '/ gradlew' भाग गया। इसने समस्या को हल नहीं किया। मुझे अभी भी एक ही सिंक त्रुटि मिलती है। – jackofblades

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

apply plugin: 'com.android.library' 

पुस्तकालय की फ़ाइल Gradle ये पंक्तियां जोड़ें।

0

मेरे मामले में local.properties फ़ाइल के अंदर गलत sdk/ndk पथों के कारण था, मैंने प्रोजेक्ट को एक एचडी से दूसरे में ले जाया और ये सेटिंग्स गलत थीं, समस्या को ठीक करने वाले पथ को ठीक करना।

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