ग्रेड - त्रुटि तर्क के लिए विधि कार्यान्वयन () नहीं मिल सका [com.android.support:appcompat-v7::.0.0.0]


92

मैं एंड्रॉइड स्टूडियो में मौजूदा एंड्रॉइड प्रोजेक्ट को खोलने की कोशिश कर रहा हूं और यह बिना गलती के ऐप को नहीं बना सकता है

एंड्रॉइड स्टूडियो में त्रुटि होती रहती है

Error:(74, 1) A problem occurred evaluating project ':app'.
> Could not find method implementation() for arguments 
[com.android.support:appcompat-v7:26.0.0] on object of type 
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

मेरे कोड में build.gradle जो मेरे मुद्दे को समझने में मदद कर सकता है मेरी निर्भरता

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

// google & support
implementation "com.android.support:appcompat-v7:$supportVersion"
implementation "com.android.support:cardview-v7:$supportVersion"
implementation "com.android.support:recyclerview-v7:$supportVersion"
implementation "com.android.support:design:$supportVersion"
implementation "com.android.support:palette-v7:$supportVersion"
implementation "com.android.support:customtabs:$supportVersion"
implementation "com.android.support:support-v4:$supportVersion"
implementation 'com.google.android.exoplayer:exoplayer:r2.0.4'

// utils
implementation 'com.github.bumptech.glide:glide:4.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
implementation 'com.koushikdutta.ion:ion:2.1.7'
implementation 'com.github.Commit451:bypasses:1.0.4'
implementation 'com.jakewharton:butterknife:8.8.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
implementation 'com.drewnoakes:metadata-extractor:2.9.1'
implementation "com.orhanobut:hawk:2.0.1"

}

कृपया समस्या को हल करने में मदद करें


5
क्या आप एंड्रॉइड स्टूडियो 3.0 का उपयोग कर रहे हैं?
सौरभ थोरात

मैं Android के लिए नया हूँ। लेकिन हां, मैंने 3.0 से अपडेट किया क्योंकि पिछली त्रुटि इसके बारे में शिकायत कर रही थी।
कोल

2
नहींं एंड्रॉयड स्टूडियो 2.3.3
कोल

9
implementationसाथ बदलने की कोशिश करेंcompile
सौरभ थोरात

हाँ, यह काम करता है .. धन्यवाद
कोल

जवाबों:


86

बदलें implementationके साथ compile

compileहाल ही में किया गया था पदावनत और के द्वारा बदल दिया implementationयाapi


20
शीर्षक कहता है कि 'विधि कार्यान्वयन नहीं पाया जा सका ()' इसलिए 'संकलन' के बजाय 'कार्यान्वयन' का उपयोग करने से मदद नहीं मिलेगी (जब तक कि त्रुटि संदेश पूरी तरह से गलत न हो)
मारियो क्लेबश

मैं पहले से ही आइवी मॉड्यूल के लिए "कार्यान्वयन" का उपयोग कर रहा हूं जो हमारे आर्टिफैक्टल रिपॉजिटरी में मौजूद है। जवाब मदद नहीं करता है
GaVaRaVa

1
वंचितता के साथ तथ्य सही है, लेकिन हेडर में प्रदर्शित इररेसेमेसेज के लिए नेतृत्व नहीं करता है। सुनील कुमार उत्तर देखें: आप गलत फ़ाइल का संपादन कर रहे हैं। यदि पुष्टि की जाती है तो कृपया इस उत्तर को गलत बताएं क्योंकि यह भ्रामक है। स्व
FrankKrumnow

45

3.*.*"कार्यान्वयन" का उपयोग करने से पहले सुनिश्चित करें कि आपका ग्रेडल संस्करण उच्च या उच्चतर है।

निर्भरता के तहत परियोजना स्तर ग्रेड फ़ाइल खोलें:

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

'Gradle-wrapper.properties' फ़ाइल खोलें और सेट करें distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

या नवीनतम संस्करण।

प्रोजेक्ट को सिंक करें। मुझे आशा है कि यह आपकी समस्या को हल करता है।


27

सुनिश्चित करें कि आप इन निर्भरताओं को Android / app / build.gradle में जोड़ रहे हैं, android / build.gradle पर नहीं


3
की पुष्टि की। यह सही जवाब है। ऊपर वर्णित त्रुटि संदेश गलत बिल्ड.ग्रेड फ़ाइल में निर्भरता जोड़ते समय दिखाता है।
फ्रैंकरामनोव

@FrankKrumnow पुष्टि नहीं कर सकता क्योंकि, अन्य कारण भी हो सकते हैं।
श्रीकांत करुमनघाट

3
यह मेरा मुद्दा था इसलिए यह जाँचने योग्य है कि आप सही फ़ाइल में जोड़ रहे हैं!
जोश अनफाइंड

इस बात से सहमत। यह सही उत्तर होना चाहिए। बहुत धन्यवाद!
मित्राकॉव आर्टेम

यह भी मेरा मुद्दा था, 2 दिन बिताने के बाद मैंने इसे ठीक करने की कोशिश की। निर्भरताएँ कॉर्डोवा के पिछले संस्करणों में android / build.gradle में रहती थीं, इसलिए यह मेरे लिए बहुत उलझन की बात थी।
सिग्मासेव

25

आपको उपयोग करने में सक्षम होने के लिए कम से कम ग्रेड 3.4 या नए का उपयोग करने की आवश्यकता है implementation। यह पदावनत का उपयोग करते रहने की अनुशंसा नहीं की जाती है compileक्योंकि इससे धीमी निर्माण समय हो सकता है। अधिक जानकारी के लिए आधिकारिक Android डेवलपर गाइड देखें:

जब आपका मॉड्यूल कार्यान्वयन निर्भरता को कॉन्फ़िगर करता है, तो यह ग्रैडल को यह बताने देता है कि मॉड्यूल निर्भरता को अन्य मॉड्यूल के लिए संकलन समय पर लीक नहीं करना चाहता है। यही है, निर्भरता केवल रनटाइम पर अन्य मॉड्यूल के लिए उपलब्ध है। एपी या संकलन के बजाय इस निर्भरता कॉन्फ़िगरेशन का उपयोग करने से महत्वपूर्ण बिल्ड समय में सुधार हो सकता है क्योंकि यह उन परियोजनाओं की मात्रा को कम करता है जिनकी निर्माण प्रणाली को फिर से बनाने की आवश्यकता है। उदाहरण के लिए, यदि एक कार्यान्वयन निर्भरता अपने एपीआई को बदल देती है, तो ग्रैडल केवल उस निर्भरता और मॉड्यूल पर निर्भर करता है जो सीधे उस पर निर्भर करते हैं। अधिकांश एप्लिकेशन और परीक्षण मॉड्यूल को इस कॉन्फ़िगरेशन का उपयोग करना चाहिए।

https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations

अपडेट: compile 2018 के अंत तक हटा दिया जाएगा, इसलिए सुनिश्चित करें कि आप implementationअभी उपयोग करते हैं:

चेतावनी: कॉन्फ़िगरेशन 'संकलन' अप्रचलित है और इसे 'कार्यान्वयन' से बदल दिया गया है। इसे 2018 के अंत में हटा दिया जाएगा


2
मैं ग्रैडल 4.4 पर पहले से ही हूं, फिर भी यह मुद्दा अचानक से चल रहा है।
अनंत लूप्स

1
और आपके ग्रेडिंग प्लगइन का संस्करण क्या है ? @InfiniteLoops
donfuxx

प्लगइन्स संस्करण 171.4249.39 है। tools.build:Gradle संस्करण 3.0.1 है
अनंत लूप

एंड्रॉइड स्टूडियो में, यदि आप स्क्रैच से एक नया प्रोजेक्ट बनाते हैं: क्या इसकी ग्रेडल फ़ाइल का उपयोग होता है implementationया compile? @InfiniteLoops
donfuxx

1
मेरे लिए, अंतर मिलीसेकंड था। जब यह टूटा नहीं है तो कुछ गड़बड़ क्यों है?
user1608385

9

परिवर्तन लागू करें प्लगइन: 'जावा' प्लगइन लागू करने के लिए: 'जावा-पुस्तकालय'

जावा-पुस्तकालय-प्लगइन


यद्यपि स्वीकृत उत्तर सबसे लोकप्रिय प्रतीत होता है, यह एकमात्र सही उत्तर नहीं है। मेरे मामले में, यह "लागू करें प्लगइन: 'जावा-लाइब्रेरी" की अनुपस्थिति थी, जिसके परिणामस्वरूप सटीक एक ही अपवाद (अलग वस्तु, निश्चित रूप से) था। तो, यह संभव समाधान जोड़ने के लिए @ xiqing-lau के लिए धन्यवाद।
pfurbacher

5

इतना हास्यास्पद, लेकिन मैं अभी भी अपने अनुभव को साझा करना चाहता हूं कि कोई मेरे जैसी स्थिति में आए।

कृपया जांचें कि क्या आपने बदला: compileSdkVersion-> implementationSdkVersionगलती से


"गलती से" का अर्थ है कि हम इसे compileSdk .. से कार्यान्वयन में बदलने वाले नहीं हैं .. सही है? यह संकलित रहने के लिए माना जाता है? --- इस टिप्पणी को पढ़ने वाला कोई भी व्यक्ति है - हां, stackoverflow.com/a/49755251/4132182
ZenVentzi

यह कोई हल नहीं है! कार्यान्वयन के लिए बदलते संकलन केवल निर्भरता पर लागू होते हैं
जोर्जेस

2

तुम्हारा कोड

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

इसे बदलें

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

2

जैसा कि यहां बताया गया है, https://stackoverflow.com/a/50941562/2186220 , 'इम्प्लीमेंटेशन' का उपयोग करते समय ग्रेडल प्लगइन संस्करण 3 या उच्चतर का उपयोग करें।

इसके अलावा, google()भंडार का उपयोग करें buildscript

buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

इन परिवर्तनों को समस्या को हल करना चाहिए।


2

अपने के implementationसाथ बदलें classpath। वह काम करना चाहिए।


हाय Nander, मुझे नहीं लगता कि मेरा जवाब स्वीकार किए गए के समान है। इसके अलावा, मैंने मेरे लिए काम नहीं किया, यही वजह है कि मैंने वही काम किया जो अन्य डेवलपर्स को भी मदद कर सकता है।
एडवर्ड म्पेंज़ा

हाय एडवर्ड, क्षमा करें, मैं गलत था। आपका उत्तर वास्तव में अलग है।
नैंडर स्पेरस्ट्रा

1

मैं implementationरूट-स्तर build.gradle से मॉड्यूल-स्तर build.gradle में चला गया। यह समस्या को हल करता है।


0

यदि कार्यान्वयन परिभाषित नहीं है, तो आप गलत फ़ाइल पर लिख रहे हैं। एकता 2019+ पर सही फाइल है main template grandleऔर कुछ अन्य की नहीं।

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