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


332

मैं के हर घटना जगह ले ली है compileद्वारा implementationअपने प्रोजेक्ट के दशक में build.gradle, लेकिन मैं अभी भी इस चेतावनी हो रही है:

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

मैंने पूरे प्रोजेक्ट में "संकलन" की कोशिश की लेकिन कोई मैच नहीं मिला। तो इसका क्या कारण हो सकता है?


क्या आप एक स्थानीय पुस्तकालय का उपयोग कर रहे हैं जो अभी भी 'संकलन' का उपयोग कर रहा है?
देवसिल 16

@Devsil संभवतः ... लेकिन मैं कैसे पता लगा सकता हूं कि कौन सा है? मैं पूरी परियोजना में पथ में एक ढूँढें कोशिश की, लेकिन के किसी भी घटना नहीं पा सके compile..
रोब

2
यदि आप एक स्थानीय पुस्तकालय का उपयोग कर रहे हैं, तो आप अपने एंड्रॉइड स्टूडियो विंडो के दाईं ओर प्रोजेक्ट व्यूअर में इसकी gradle.build फ़ाइल देखेंगे। उस बिल्ड.ग्रेड फ़ाइल में इसे लागू करने के लिए "संकलन" हो सकता है। यदि कोई बिल्ड .ग्रेड फ़ाइल जो आप देखते हैं उसमें वह नहीं है। यह एक ऐसी लाइब्रेरी हो सकती है जिसका आप उपयोग कर रहे हैं जो कि स्थानीय नहीं है इसलिए आपको इसे बदलने की अनुमति नहीं है। इसलिए इस चेतावनी को अभी के लिए अनदेखा किया जा सकता है।
देवसिल

1
ग्रैडल को लाइन नंबर देना चाहिए जहां समस्या उत्पन्न हो रही है
यति 99

इसे आज़माएं: stackoverflow.com/questions/48623244/… और Failed to resolve: android.arch.persistence.room:runtime:1.1.1 Open File Show in Project Structure dialogसंस्करण बदलने की कोशिश के लिए1.0.0
Saeid

जवाबों:


496

मैंने अपडेट com.google.gms:google-servicesकिया 3.1.1है 3.2.0और चेतावनी दिखाई देना बंद कर दिया है।

buildscript {

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

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

    classpath 'com.google.gms:google-services:3.2.0'
    }
}

1
कॉन्फ़िगरेशन 'संकलन' अप्रचलित है और इसे 'कार्यान्वयन' से बदल दिया गया है। इसे 2018 के अंत में हटा दिया जाएगा। स्पष्ट करने के लिए किसी भी Google सेवा निर्भरता {classpath 'com.android.tools.build:gradle:3.1.0'} का उपयोग नहीं किया जा रहा है
अमित_नॉन्डर

मुझे "com.google.gms: google-services: 3.2.0 नहीं मिला।" जब मैं यह कोशिश करता हूं। अद्यतन: जब मैंने इसे 3.1.1 में बदल दिया, तब मैन्युअल रूप से इसे चालू करने से पहले चेतावनी बदल दी, फिर Alt + Enter को स्वचालित रूप से ठीक करने के लिए इसे com.google.gms में बदल दिया: Google- सेवाएँ: 3.2.0 सिंक पर कोई त्रुटि नहीं है। मुझे यकीन नहीं है कि अंतर क्या था लेकिन यह निराशाजनक है।
jwehrle

ठीक है, मुझे विश्वास है कि मैं अंतर को समझता हूं। मैंने प्रोजेक्ट और मॉड्यूल build.gradle ग्राम क्लासपाथ को 3.2.0 संस्करण में बदल दिया था। यह मॉड्यूल परिवर्तन है जो समस्या का कारण बना। केवल प्रोजेक्ट build.gradle ग्राम क्लासपथ संस्करण बदलें।
jwehrle

मुझे jcenter () रेपो भी याद आ रहा था! परियोजना बहुत पुरानी थी और इसमें रेपो शामिल नहीं था!
यानि

क्या आपका मतलब है कि मुझे फ़ाइल में मैन्युअल रूप से उस लाइन को जोड़ना चाहिए?
हेल्लोवुडनाइट

125

मेरे पास एक ही चेतावनी है जो com.google.gms के कारण है: Google-सेवाएं।

इसका समाधान classpath com.google.gms को अपग्रेड करना है: google-services को classpath 'com.google.gms: google-services: 3.2.0' में build.gradle प्रोजेक्ट में फ़ाइल:

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

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

एंड्रॉइड स्टूडियो वर्जन में 3.1 निर्भरता शिकायत वाले शब्द को कार्यान्वयन के लिए बदल दिया गया है

एंड्रॉइड स्टूडियो 3.1 में चेतावनी के साथ निर्भरताएं

dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            compile 'com.android.support:appcompat-v7:27.1.0'
            compile 'com.android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }

एंड्रॉइड स्टूडियो 3.1 में निर्भरताएं ठीक हैं

    dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.android.support:appcompat-v7:27.1.0'
            implementation 'com.android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    }

नई परियोजना के लिए एंड्रॉइड स्टूडियो 3.1 द्वारा ग्रेडेल उत्पन्न।

नई परियोजना के लिए एंड्रॉइड स्टूडियो 3.1 द्वारा ग्रेडेल उत्पन्न।

Https://docs.gradle.org/current/userguide/d dependency_management_for_java_jectjects.html पर जाएं

विवरण के लिए https://docs.gradle.org/current/userguide/declaring_dependencies.html


ध्यान दें कि "testCompile" "testIm कार्यान्वयन" में बदल जाता है।
AJW

अधिकांश उत्तर, और सबसे लोकप्रिय एक के रूप में, सभी com.google.gms पर ध्यान केंद्रित कर रहे हैं:
Google-

32

मैंने com.google.gms अपडेट किया है: 3.2.0 से 3.2.1 तक Google-सेवाएँ और चेतावनी दिखाई देना बंद हो गई है।

 buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath 'com.google.gms:google-services:3.2.1'

    }
}

आपको बस संस्करण बदलने की आवश्यकता है जैसे मेरे पास यह 'com.google.gms: google-services: 3.2.0' है जिसे आपको 3.2.0 के साथ बस 3.2.0 को बदलने की आवश्यकता है।
Prateek218

धन्यवाद, मैंने गलत वर्ग को अपडेट किया था, इसीलिए मुझे त्रुटि मिली।
झोरा २६'१

2
मेरे पास संस्करण classpath 'com.google.gms:google-services:4.1.0'अद्यतन नहीं है, लेकिन हाँ, यह अधिक से अधिक है 3.2.0। अभी भी कोई संकल्प नहीं!
सूद

@ sud007 क्या आप थोड़ा सा समझा सकते हैं कि आप किस मुद्दे का सामना कर रहे हैं या अपने बिल्ड.ग्रेडल (प्रोजेक्ट स्तर) को पोस्ट कर रहे हैं
Prateek218

22

Google gms सेवाओं के वर्तमान नवीनतम संस्करण का उपयोग करके इसे मेरे लिए हल किया गया।

परियोजना स्तर में build.gradle:

buildscript {
    ...
    dependencies {
        classpath 'com.google.gms:google-services:3.2.1'
        ...  
    }
}

18

यहां स्थित अपनी बिल्ड.ग्रेड फ़ाइल खोलें:

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

यह निर्भरता पुस्तकालयों को लिखने का पुराना तरीका है (ग्रेडेल संस्करण 2 और नीचे के लिए):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile files('libs/volley.jar')
    compile 'com.android.support:support-v4:21.+'
}

यह संस्करण 3 के लिए निर्भरता को आयात करने का नया (सही) तरीका है:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation files('libs/volley.jar')
    implementation 'com.android.support:support-v4:21.+'
}

1
धन्यवाद दोस्त! यह जनवरी 2019 तक की सबसे अप-टू-डेट उत्तर की तरह लगता है
NaturalBornCamper

यह उत्तर उन लोगों के लिए मददगार है जो पहली बार इस मुद्दे का सामना कर रहे हैं। हालांकि, ओपी का एक अलग सवाल है, जो कहता है कि उन परिवर्तनों के बाद भी, त्रुटि संदेश प्रदर्शित होता है।
सूद

13

उत्तर Google द्वारा: https://issuetracker.google.com/issues/74048134

संकलन का उपयोग करते हुए अभी भी कुछ निर्भरता होगी, अपने आवेदन की निर्भरता और सकर्मक निर्भरता की सावधानीपूर्वक जांच करें।


1
मैंने अपनी परियोजना के लिए सभी build.gradles में सभी निर्भरताएं हटा दीं और अभी भी त्रुटि मिलती है
behelit

3
संपादित करें: यह पुराने संस्करण का उपयोग करके दायरे के कारण हुआ था
बेथेल

7

https://issuetracker.google.com/issues/72479188 इंगित करता है कि प्लगइन्स कभी-कभी "संकलन" निर्भरता का परिचय दे सकते हैं और यही चेतावनी को ट्रिगर करता है। शायद उस मुद्दे को घूरने के लिए बस सबसे आसान है और तब तक प्रतीक्षा करें जब तक कि वह यह इंगित करने के लिए ठीक न हो जाए कि कौन से प्लगइन्स समस्या पैदा कर रहे हैं।


6

लाइन हटाने की जरूरत नहीं। जैसा कि Jkrevis ने लिखा है, com.google.gms: google-services को 3.2.0 पर अपडेट करें और यह चेतावनी को रोक देता है।


1
क्या आपने अपने प्रोजेक्ट के build.gradle (मॉड्यूल: ऐप) में 'कंपाइल' की हर घटना को 'कंपाइल' से बदल दिया और com.google.gms को अपडेट किया: build.gradle (प्रोजेक्ट) में 3.2.0 करने के लिए google-services?
टॉम

6

मैं इस समस्या का उपयोग किए बिना सामना करता हूं com.google.gms:google-services। इस तरह की समस्या को हल करने वाला समाधान नीचे दिया गया है:

  1. build.gradleसभी परियोजनाओं और मॉड्यूल की फ़ाइलों की जाँच करें। या सिर्फ वैश्विक खोज कुंजी शब्द 'संकलन' को यह पता लगाने के लिए कि यह चेतावनी कहां है।
  2. यदि उपरोक्त विधि इस चेतावनी को हल नहीं कर सकती है, तो CLI कमांड का उपयोग करें, ./gradlew assembleDebug -d > gradle.log
    फ़ाइल नाम gradle.logया किसी भी अन्य के लिए विवरण डीबग जानकारी प्रिंट करें , क्योंकि जानकारी बहुत अधिक है। फिर "WARNING" शब्द खोजे ताकि स्थिति पता चल सके gradle.log, आमतौर पर आप पा सकते हैं कि निर्भरता या प्लगइन चेतावनी का क्या कारण है।

2
मुझे लगता है कि यह सामान्य समाधान है। समस्या आपकी निर्भरता के किसी एक, या कई के कारण हो सकती है
रासमसोब

5

मेरे मामले में, यह Realm लाइब्रेरी के कारण है, क्योंकि मैंने इसे Realm के नवीनतम संस्करण (5.1.0 अब तक) में अपडेट कर दिया है, समस्या हल हो गई है!

यहाँ काम कर रहे स्क्रिप्ट है:

buildscript {
repositories {
    jcenter()
    google()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "io.realm:realm-gradle-plugin:5.1.0"
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.2.1'
  }
}

3

बस Google-सेवा संस्करण को अपडेट करने से मेरे लिए काम नहीं किया गया।

  • पहले सुनिश्चित करें कि आपकी सभी निर्भरताएँ compileबदल दी गई हैं implementation
  • अपनी परियोजना में सभी निर्भरता अद्यतन करें। क्योंकि अगर आपकी कोई निर्भरता चल रही है compileतो आपका प्रोजेक्ट इस त्रुटि को दिखाएगा। इसलिए सभी निर्भरता संस्करण को अपडेट करें।

2

प्रोजेक्ट स्तर में अपनी build.gradle फ़ाइल पर जाएँ, आपको निम्न पंक्तियाँ हाइलाइट होंगी

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'  //place your cursor over here 
    //and hit alt+enter and it will show you the appropriate version to select


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

    classpath 'com.google.gms:google-services:4.0.2' //the same as previously
}

2

मेरे मामले में यह एक पुरानी निर्भरता थी जो संक्रामक निर्भरता के लिए संकलन का उपयोग कर रही थी: com.jakewharton.hugo

मेरे ग्रेडेल से हटाने के बाद इसे संकलित किया।


1

इस समस्या को हल करने का तरीका मेरे लिए था कि मैंने ग्रैडल के पुराने संस्करण का उपयोग किया, जो यहां पाया जा सकता है :

मैंने gradle-3.0-rc-1-src संस्करण का उपयोग किया है, लेकिन अन्य भी काम कर सकते हैं, हालांकि शायद यह 3.0-संस्करण की तुलना में नया नहीं होना चाहिए।

पहले ज़िप फ़ाइल को अपनी पसंद के अनुसार कहीं भी निकालें।

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

परियोजना का पुनर्निर्माण करें और सब कुछ ठीक होना चाहिए।


0

मैंने एंड्रॉइड स्टूडियो 3.0.1 में Google gms सेवाओं को नवीनतम com.google.gms:google-services:3.2.1में बदलने की कोशिश की है, लेकिन चेतावनी अभी भी बनी हुई है।

संकलक द्वारा सिफारिश की है, मैं सब बदल compileकरने के लिए निर्भरता implementationऔर testCompileकरने के लिए testImplementationइस तरह ..

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:mediarouter-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-ads:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.firebase:firebase-perf:12.0.1'
implementation 'com.google.firebase:firebase-appindexing:12.0.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

और अंत में चेतावनी को हटा दिया जाता है!


0

आप यह दो विकल्प कर सकते हैं:

  1. Urp प्रोजेक्ट में classpath 'com.google.gms: google-services: 3.2.0' जोड़ें: build.gradle निर्भरताएँ और
  2. अपने मॉड्यूल को बदलें: build.gradle निर्भरता में कार्यान्वयन से शिकायत के साथ और आपको कोई चेतावनी संदेश नहीं मिलेगा।

0

बस से जोड़ने build.gradleसेbuild script

classpath 'com.google.gms:google-services:3.2.0'

और निर्भरता के सभी "compile"प्रतिस्थापित करते हैं "implementation"

वह मुझसे काम करता है।


ध्यान दें कि यदि आप उपयोग कर रहे हैं तो classpathइसका उपयोग किसी buildscriptब्लॉक के अंदर अवश्य करें ; इसके अलावा, एक ब्लॉक के implementationअंदर उपयोग नहीं किया जा सकता है buildscript
चुमिएस्टबकेट

0

वर्तमान संस्करण 4.2.0 है :

बिल्डस्क्रिप्ट

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

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:4.2.0'
}

}


0

मेरे लिए इसे लागू करने के संकलन को बदलना

इससे पहले

compile 'androidx.recyclerview:recyclerview:1.0.0'
compile 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

उपरांत

implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'

-2

आशा है कि आप build.gradle (ऐप) से प्रभावित हैं। यदि ऐसा है, तो इस चरण का पालन करें

Build.gradle में AndroidTestIm कार्यान्वयन के साथ संकलन बदलें

androidTestImplementation 'com.android.support:appcompat-v7:27.1.1'
androidTestImplementation 'com.android.support:design:27.1.1'

बहुत आसन ! उम्मीद है कि यह हल हो जाएगा


-3

मेरे मामले में समस्या थी Google फ़ाइल में निम्न पंक्ति वाली लाइन के साथ Google सर्विस ग्रेडिंग प्लगइन:

प्लगइन लागू करें: 'com.google.gms.google-services'

इसे हटाने से समस्या हल हो गई


-7

आप पर जाएं। निर्माण (एप्लिकेशन स्तर)

build.gradle मॉड्यूल ऐप

और शब्द "संकलन" को "कार्यान्वयन" से बदलें

यह 100% काम करेगा


6
यह उत्तर उपयोगी नहीं है। ओपी ने पहले ही कहा कि यह किया गया था, इसलिए यह संभवतः मदद नहीं कर सकता है।
नाइटऑव 8888

1
मेरे पास एक ही मुद्दा था, मैं अपना ऐप एपीके bcoz जनरेट नहीं कर सका, उस जवाब ने मेरी समस्या हल कर दी
अय्यूब

यह वही स्थिति नहीं है, ओपी ने पहले ही कहा कि उसने यह कर दिया है (मैं भी उसी नाव में हूं) यह निर्भरता के कारण है
इलियटएम

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