Google Play सेवाएँ GCM 9.2.0 9.0.0 पर "अपडेट" करने के लिए कहती है


178

इसलिए आज सुबह मैंने अपने प्रोजेक्ट पुस्तकालयों के नवीनतम संस्करण में अपडेट करना शुरू किया।

मैं GCM को नवीनतम संस्करण 9.2.0 में अपडेट करने का प्रयास कर रहा हूं, लेकिन मुझे यह त्रुटि मिली:

त्रुटि: कार्य के लिए निष्पादन विफल रहा ': app: processDebugGoogleServices'। कृपया संस्करण संघर्ष को या तो Google-Services प्लगइन के संस्करण को अपडेट करके ठीक करें (नवीनतम संस्करण के बारे में जानकारी https://bintray.com/android/android-tools/com.google.gms.google-services/ पर उपलब्ध है ) या com.google.android.gms के संस्करण को 9.0.0 तक अपडेट कर रहा है।

इस तरह मेरा कोड है:

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.2'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

और तब:

dependencies {
    ...

    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

किसी को भी एक ही मुद्दा / एक ही मुद्दा तय?

धन्यवाद।

संपादित करें

जाहिरा तौर पर आपको अपने एप्लिकेशन / बिल्ड.gradle फ़ाइल के नीचे अपना GSM प्लगइन लागू करना होगा। एल्स, संस्करण 9.2.0 आपके प्रोजेक्ट में संघर्ष का कारण बनेगा।

संदर्भ के लिए, यह मेरा ऐप / बिल्ड.ग्रेड फ़ाइल अब जैसा दिखता है:

apply plugin: "com.android.application"
apply plugin: "com.neenbedankt.android-apt"

android {
    ...
}

dependencies {
    ...

    // Google Cloud Messaging
    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

apply plugin: "com.google.gms.google-services"

यहाँ एक ही मुद्दा है, मैं वापस 9.0.0 करने के लिए
23

@ मैंबोनिन मैं वही कर रहा था। लेकिन निश्चित रूप से जानना चाहेंगे कि यहां क्या हो रहा है। अभी तक एक उत्तर खोजने में भाग्यशाली नहीं रहे हैं।
हरटर्मेल

2
और फिर 9.0.0 इस बग है stackoverflow.com/questions/37361651/... और समाधान 9.2.0 के लिए अद्यतन करने के लिए हो रहा है .... कौन सा बग यहाँ करने के लिए :-( संभव धन्यवाद नहीं है
mbonnin

6
यह काम कर रहा है अगर मैं build.gradle फ़ाइल के अंत में प्लगइन लागू करता हूं, जैसे Gusthema कहते हैं bellow
mbonnin

पढ़ें इस मुद्दे अपनी पोस्ट में सही तरीके से दूर करने के तरीकों यहाँ
पेड्रो वरेला

जवाबों:


507

क्या आपके पास लाइन है?

apply plugin: 'com.google.gms.google-services' 

आपके ऐप के बिल्ड.ग्रेडल फ़ाइल के निचले भाग में स्थित है?

मैंने कुछ त्रुटियां देखीं जब यह शीर्ष पर था और जैसा कि यहां लिखा गया है , यह सबसे नीचे होना चाहिए।


11
यह सच नहीं है, gms प्लगइन फाइल के निचले भाग में होना चाहिए जैसा कि आप यहाँ gms के लिए डॉक्स पर देख सकते हैं: Developers.google.com/android/guides/google-services-plugin
Gusthema

1
मुझे सही साबित होना है। बावजूद, इससे समस्या का समाधान नहीं होगा।
herrmartell

1
मुझे यकीन नहीं है कि पहली बार मैंने इसे क्यों आज़माया, यह काम नहीं किया। अभी @mbonnin की टिप्पणी के कारण इसे फिर से आज़माया, और अब यह काम कर रहा है। धन्यवाद।
हेरमार्टेल

9
मैंने फ़ाइल की शुरुआत में इस लाइन को जोड़ा था, लेकिन इसे सबसे नीचे रखने के बाद काम किया।
SHA2NK 4

2
नीचे दिए गए प्लगइन को जोड़ने से संस्करण संघर्ष हल हो गया।
प्रतिमा

54

इस लाइन को अपने ऐप-मॉड्यूल के निचले भाग पर रखें (प्रोजेक्ट रूट की नहीं) gradleफ़ाइल।

apply plugin: 'com.google.gms.google-services'

फिर अपने प्रोजेक्ट का पुनर्निर्माण करें।


11

मुझे भी यही समस्या थी, आज 2016 - अक्टूबर - 06 मैंने इसे हल किया:

मैंने सभी निर्भरताएं बदल दीं जो 9 से शुरू हुईं।? 9.6.1 मैं एसडीके संस्करण 24 और लक्ष्य संस्करण 17 के साथ संकलित किया गया।

मेरे समाधान में एक और पैकेज है क्योंकि मैंने अधिक चीजों का उपयोग किया है, केवल प्रमाणीकरण।

नीचे दिए गए कोड के साथ अपने build.gradle (मॉड्यूल: एप्लिकेशन) को बदलने के बाद:

  1. अपने पैकेज NAME को "i.YOUR_PACKAGE_HERE" शब्दों के साथ लाइन में रखें।

  2. अपनी परियोजना (Ctrl + alt + v) और फिर से निर्माण को सिंक्रनाइज़ करें।

यह फ़ाइल का कोड है buid.gradle (मॉड्यूल: ऐप) जो मेरे लिए काम करता है:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        applicationId "com.YOUR_PACKAGE_HERE"
        minSdkVersion 24
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    compile 'com.google.firebase:firebase-core:9.6.1'
    compile 'com.google.firebase:firebase-database:9.6.1'

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'

    compile 'com.google.firebase:firebase-crash:9.6.1'
    testCompile 'junit:junit:4.12'

    compile 'com.google.firebase:firebase-messaging:9.6.1'

    compile 'com.google.firebase:firebase-ads:9.6.1'


    compile 'com.google.firebase:firebase-auth:9.6.1'


    compile 'com.google.android.gms:play-services:9.6.1'

}
apply plugin: 'com.google.gms.google-services'

6

यही स्थिति पिछले संस्करणों के साथ थी। यह घोषणा कर रहा है कि नए संस्करण com.google.android.gms लाइब्रेरीज़ हमेशा प्लगइन से पहले जारी होते हैं, और पुराने प्लगइन के साथ असंगत होने के कारण नए संस्करण का उपयोग करना असंभव है। मुझे नहीं पता कि प्लगइन अब आवश्यक है (Google डॉक्स बेकार है)। मुझे वह समय याद है जब यह नहीं था। एकमात्र तरीका नए प्लगइन संस्करण की प्रतीक्षा कर रहा है, या आप प्लगइन निर्भरता को दूर करने की कोशिश कर सकते हैं, लेकिन जैसा कि मैंने कहा कि मुझे यकीन नहीं है कि इसके बिना gcm काम करेगा। मुझे पता है कि 9.2.0 संस्करण की मुख्य विशेषता नई जागरूकता एपीआई https://inthecheesefactory.com/blog/google-awareness-api-in-action/en है , अगर आपको इसकी आवश्यकता नहीं थी, तो आप 9.0 का उपयोग कर सकते हैं। बिना किसी परेशानी के 0 संस्करण।


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

1
निश्चित रूप से @yaneq google डॉक्स बेकार है, अभी वही समस्या है
इदरीस

5

Gustavomcls का समाधान com.google को बदलने के लिए। * उसी संस्करण के संस्करण ने मेरे लिए काम किया।

मैं buid.gradle में दोनों निर्भरता को 9.2.1 में बदल देता हूं। (मॉड्यूल: ऐप)

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.android.gms:play-services:9.2.1'

यह समस्या मुझे फायरबेस की वजह से भी हुई थी, लेकिन मुझे फायरबेज वर्जन को 9.2.1 पर डाउनग्रेड करने का यह उपाय पसंद नहीं आया
सैम बेलेरोस

2

app/build.gradleनिर्भरता ब्लॉक के बाद अपने ऐप-मॉड्यूल से खोलें और लाइन के नीचे फिर से लिखें। यह प्लगइन को यह निर्धारित करने की अनुमति देता है कि आप किन सेवाओं का उपयोग कर रहे हैं

apply plugin: 'com.google.gms.google-services'

मुझे यह विचार यहाँ से मिला । इस ट्यूटोरियल में दूसरा बिंदु यह कह रहा है कि ऊपर प्लगइन लाइन आपकी app/build.gradleफ़ाइल के निचले भाग में हो ताकि कोई निर्भरता टकराव पेश न करें। आशा है कि यह आपकी मदद करेगा।


आप उन उत्तरों को क्यों दोहराते हैं जो डेढ़ साल पहले दिए गए हैं?
बेवर

2

कॉर्डोवा या आयोनिक हाइब्रिड ऐप के लिए

फायरबस क्लाउड मैसेजिंग (FCM) को एकीकृत करने के बाद मुझे अपने Ionic 1 कॉर्डोवा बिल्ड के साथ बहुत समान समस्या है

मैंने इस समस्या को निम्न चरणों से ठीक किया

तो एक फिक्स यह होगा: प्लेटफ़ॉर्म / एंड्रॉइड ओपन प्रोजेक्ट.प्रोपरेट्स (इसकी एक फ़ाइल) के अंदर, आपके पास कुछ ऐसा होगा

cordova.system.library.1=com.google.android.gms:play-services-ads:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+

बदलो

+

अपने लक्ष्य संस्करण संख्या के साथ साइन इन करें - निम्न की तरह

cordova.system.library.1=com.google.android.gms:play-services-ads:9.0.0
cordova.system.library.2=com.google.firebase:firebase-core:9.0.0
cordova.system.library.3=com.google.firebase:firebase-messaging:9.0.0

फ़ाइल सहेजें

फिर निर्माण का उपयोग करें

 ionic cordova run android

मुझे उम्मीद है कि यह सभी के लिए काम करेगा


इससे बस त्रुटि बदल गई। यह एक तरह से अच्छा है क्योंकि मैं केवल हजारों समाधानों के साथ ही त्रुटि प्राप्त कर रहा हूं।
अंतरिक्ष यात्री

2

इस रेखा को प्रवण के नीचे जोड़ें।

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

क्योंकि यह शीर्ष यह काम नहीं करता है। मैं इसी तरह की समस्या का सामना कर रहा था।


1

यदि आपके पास फायरबेस भी शामिल है, तो उन्हें उसी संस्करण का बना दें जैसा कि त्रुटि कहती है।


0

जब तक मैंने स्थान सेवाओं का उपयोग करने की कोशिश नहीं की, तब तक मेरे पास यह मुद्दा नहीं था, जिस बिंदु पर मुझे apply plugin: 'com.google.gms.google-services'शीर्ष के बजाय फ़ाइल के निचले भाग में रखना था । इसका कारण यह है कि जब आपके पास यह शीर्ष पर होता है तो टकराव के मुद्दे होते हैं, और इसे सबसे नीचे रखकर, आप उन मुद्दों से बचते हैं।


-1

आपका लक्ष्य डिवाइस SDKसे अधिक हो सकता SDKहै, इसे बदलें। उदाहरण के लिए, आपका उपकरण API 23 चला रहा है लेकिन आपका लक्ष्य SDK25 है। 25 से 23 बदलें।

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