असमर्थित विधि: AndroidProject.getPluginGeneration () प्रोजेक्ट चलाते समय


105

मैं एंड्रॉइड स्टूडियो 2.2 के साथ अपना प्रोजेक्ट चलाने की कोशिश कर रहा हूं, लेकिन मुझे यह त्रुटि मिली

Unsupported method: AndroidProject.getPluginGeneration().
The version of Gradle you connect to does not support that method.

मैं ButterKnife 8.4.0 का उपयोग कर रहा हूं

मेरा ऐप gradle.file:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

मेरा मॉड्यूल ग्रेड फ़ाइल:

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "xxx.xx"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
}

dependencies {
    compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'
}

यह काम क्यों नहीं करता है और मैं इसे कैसे हल करूं?


@ कैस्टलीजन्स, यदि आप वर्तमान उत्तरों से समाधान लागू करते हैं तो क्या होगा?
azizbekian

@azizbekian यह कैसे प्रासंगिक है
टिम

जवाबों:


281

सामान्य अंक: -

यह हो सकता है क्योंकि AS इंस्टेंट रन फीचर की उपलब्धता की जांच कर रहा था। इंस्टेंट रन को अक्षम करना है:

विंडोज और लिनक्स:

File -> Settings -> Build, Execution, Deployment -> Instant Run.

मैक:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.

यहां छवि विवरण दर्ज करें

इसका उल्लेख करने के लिए @pophus को धन्यवाद।

यदि आप एक मक्खन का उपयोग कर रहे हैं तो इस चरणों का उपयोग करें: -

यदि आप 2.2.0 या नए संस्करण के साथ नए जैक कंपाइलर का उपयोग कर रहे हैं, तो आपको 'एंड्रॉइड-एप' प्लगइन की आवश्यकता नहीं है और कंपाइलर निर्भरता की घोषणा करते समय एनोटेशनप्रोसेसर के साथ उपयुक्त को बदल सकते हैं।

वह है, हटाओ

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

आपकी मुख्य ग्रेडल फ़ाइल से

और हटा दें

apply plugin: 'android-apt'

आपकी मुख्य मॉड्यूल फ़ाइल से

और प्रतिस्थापित करें

apt 'com.jakewharton:butterknife-compiler:8.4.0'

साथ में

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

मैं तुरंत रन से प्यार करना चाहता हूं लेकिन यह इतने अजीब तरीके से चीजों को तोड़ता है कि नियमित रूप से काफी समय के निवेश के बिना नियमित रूप से उपयोग करना असंभव हो जाता है
सायरन

24

मुझे एंड्रॉइड स्टूडियो 2.2 में इस त्रुटि का सामना करना पड़ा, मेरे मामले में यह इंस्टेंट रन सुविधा की उपलब्धता की जांच के कारण था। मैंने इसे तत्काल चलाने को अक्षम करके तय किया:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run


मेरे सहयोगी के लिए काम किया। वह पर Gradle 1.2.3 था
gitter

1
तुमने मेरी जान बचाई। मैं रिलीज के करीब एक प्रोजेक्ट पर काम कर रहा हूं और मैं इसके लिए ग्रेडेल अपग्रेड नहीं करना चाहता। इस फिक्स / वर्कअराउंड ने निश्चित रूप से मदद की।
बेहतर शाओ

@pophus यह हो सकता है की वजह से अलग अलग कारण के लिए हो सकता है तत्काल रन से एक है, मैं इस मुद्दे butterknife साथ सामना करना पड़ा
ColdFusion

7

बदलें संस्करण 2.2 करने के लिए

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

खेद है कि एक टाइपो था मैं 2.2.0 का उपयोग कर रहा हूं
कोल्डफ्यूजन

फिर अपने .idea फ़ोल्डर को हटाकर और अपनी विचारधारा को पुनरारंभ करके देखें। 2.2 के प्रोजेक्ट अपडेट के बाद मुझे विभिन्न समस्याओं का भी सामना करना पड़ा। मैंने पाया एक समाधान .idea फ़ोल्डर को हटाना है। अब सभी ठीक काम कर रहे हैं।
सईम

6

विंडोज पर यह है

File / Settings/ Build, Execution, Deployment / Instant Run.

सही का निशान हटाएँ Enable Instant Run to hot swap code...


1
आपका जवाब कुछ नया नहीं जोड़ता है, यह पहले से ही अन्य उत्तरों में कहा गया है, क्या आप स्पष्ट कर सकते हैं?
कोल्ड फ्यूजन

1
विंडोज पर इस विकल्प को खोजने में मुझे कुछ समय लगा, इसलिए मैं इस बार दूसरों के लिए बचत करना चाहता था। जैसा कि सरल है
Flot2011

2

बस तुरंत चलाओ

विंडोज फ़ाइल-सेटिंग्स- निर्माण, निष्पादन, परिनियोजन - त्वरित रन।

मैक एंड्रॉइड स्टूडियो -> प्राथमिकताएं -> निर्माण, निष्पादन, तैनाती -> त्वरित रन।


3
आपका जवाब कुछ नया नहीं जोड़ता है, यह पहले से ही अन्य उत्तरों में कहा गया है, क्या आप स्पष्ट कर सकते हैं?
कोल्ड फ्यूजन

2

मैं एक बहुत पुरानी परियोजना पर एक ही त्रुटि में भाग गया। चूंकि एंड्रॉइड स्टूडियो 3.5 में इंस्टेंट रन ऑप्शन नहीं है, इसलिए मुझे एक अलग समाधान की आवश्यकता थी।

यह पता चला, कि मुझे प्रोजेक्ट सेटिंग्स में मैन्युअल रूप से ग्रेडेल संस्करण बदलना पड़ा। मैं संस्करण का उपयोग करता था एक नया प्रोजेक्ट स्वचालित रूप से उपयोग करेगा, क्योंकि ड्रॉपडाउन खाली थे।

मेरे मामले में, यह प्लगइन संस्करण 3.5.1 और ग्रेडल संस्करण 5.4.1 था।

उसके बाद मैंने बिल्ड - क्लीन प्रोजेक्ट शुरू किया और सबकुछ ठीक हो गया।


1

बस ग्रेडल प्लगइन संस्करण को अंतिम संस्करण में अपग्रेड करें:

dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

और सुनिश्चित करें कि आपका ग्रेडल अंतिम v भी है:

#Sun Nov 03 16:47:32 IRST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

नोट: googleरिपॉजिटरी में भी उपयोग करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.