Android Studio 2.3 में अपग्रेड करने के बाद Android-apt के लिए असंगत प्लगइन्स


101

2.2 से 2.3 में अपग्रेड करने के बाद मुझे यह चेतावनी दिखाई देती है

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

और जब मैं परियोजना को संकलित करने का प्रयास करता हूं तो मुझे यह संकलन त्रुटि दिखाई देती है

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

मैं पिछले ग्रेडल संस्करण में अपग्रेड किए बिना इस समस्या को कैसे हल कर सकता हूं? क्या android-apt का कोई अपडेट है जो इस समस्या को हल कर सकता है?

जवाबों:


179

android-aptप्लगइन पदावनत किया गया हैमाइग्रेशन गाइड के
लिए यहां देखें :

एंड्रॉइड ग्रैगल प्लगइन संस्करण 2.2 के अनुसार, पहले एंड्रॉइड-एप द्वारा प्रदान की गई सभी कार्यक्षमता अब एंड्रॉइड प्लगइन में उपलब्ध है।

आप android-aptसमान कार्यक्षमता प्राप्त करने के लिए माइग्रेशन मार्गदर्शिका का पालन करके निकाल सकते हैं ।

माइग्रेशन गाइड से महत्वपूर्ण भाग :

  • सुनिश्चित करें कि आप एंड्रॉइड ग्रैडल 2.2 प्लगइन या नए पर हैं।
  • android-aptअपनी बिल्ड स्क्रिप्ट से प्लगइन निकालें
  • सभी को बदलें apt, androidTestAptऔर testAptउनके नए प्रारूप पर निर्भरताएं:
dependencies {
   compile 'com.google.dagger:dagger:2.0'
   annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}

एंड्रॉइड ग्रैडल प्लगइन में भी इसके लिए एक स्पष्ट जांच है, जो कि आप देख रहे हैं:

एनोटेशन प्रोसेसिंग Android-apt के लिए असंगत प्लगइन्स का उपयोग करना

भविष्य के एंड्रॉइड ग्रैगल प्लगइन संस्करणandroid-apt काम करने के तरीके के साथ संगत नहीं होंगे , जो उस चेक का कारण है।


धन्यवाद! मुझे नहीं पता था कि उपयुक्त पदावनत नहीं किया गया था।
ब्रॉन्क्स

1
और एंड्रॉइड ग्रैडल प्लगइन में Google के पास इसके लिए एक स्पष्ट जांच है, जो कि आप देख रहे हैं। भविष्य के एंड्रॉइड ग्रैडल संस्करण android-aptकाम करने के तरीके के साथ संगत नहीं होंगे , जो उस चेक का कारण है।
बोटियाप

चेक कहाँ है?
एरिक

मेरे पास कोई उपयुक्त नहीं है लेकिन फिर भी यह चेतावनी मिलती है। संपादित करें: पता चलता है कि यह दायरे में था
बेहालिट

मैंने अपने कोड में NDROID-pt कहीं नहीं देखा, लेकिन त्रुटि हो रही है। मुद्दा क्या हो सकता है?
मुबाशर

47

मेरे लिए, सामग्री के Vaultपुस्तकालय का उपयोग करते समय मुझे यह त्रुटि आ रही थी जो निर्दिष्ट करती है कि आप इसमें शामिल हैं:

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

तथा

compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'

आपको क्या करने की जरूरत है हटाएँ apply plugin: 'com.neenbedankt.android-apt'

और फिर बदलें :

compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'

सेवा

annotationProcessor 'com.contentful.vault:compiler:2.1.0'
annotationProcessor 'com.contentful.vault:core:3.0.1'

आप हमेशा नवीनतम संस्करणों के लिए https://github.com/contentful/vault की जांच कर सकते हैं


15
  1. उपयुक्त प्लगइन निकालें

  2. परिवर्तन:

    apt -> संकलन

    testApt -> testAnnotationProcessor

    androidTestApt -> androidTestAnnotationProcessor

  3. अपने build.gradle (ऐप) में, defaultConfig में जोड़ें:

VectorDrawables.useSupportLibrary = true


6

उनके जवाब के बाद से यहाँ पर @Gabriele Mariotti पर Piggybacking है और इसका तात्पर्य है, लेकिन यह नहीं बताता है। ग्रैडल इसे एक वैध विकल्प के रूप में भी सुझाव नहीं देता है, हालांकि यह भी है। परीक्षण समकक्ष के लिए androidTestAptऔर testAptहै androidTestAnnotationProcessorऔर testAnnotationProcessor

उदाहरण:

testApt "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion"

को बदलना चाहिए

testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"

1

एनोटेशन प्रोसेसर में तर्क होने की स्थिति में, किसी को इसे बदलना भी पड़ सकता है:

apt {
    arguments {
        KEY "VALUE"
    }
}

इसके लिए:

android {
    ...
    defaultConfig {
        ...
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ['KEY': 'VALUE']
            }
        }
    }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.