GoogleService आरंभ करने में विफल रहा


113

मैं अपने Android एप्लिकेशन में Google मानचित्र का उपयोग कर रहा हूं। मैंने मैनिफ़ेस्ट फ़ाइल में कुंजी और आवश्यक अनुमतियाँ जोड़ी हैं। लेकिन जल्द ही मैं आवेदन शुरू करता हूं मुझे यह संदेश डीबगर में मिलता है:

GoogleService आरंभ करने में विफल रहा, स्थिति: 10, एक अपेक्षित संसाधन गुम: Google सेवाओं को आरंभ करने के लिए 'R.string.google_app_id'। संभावित कारण Google-services.json या com.google.gms.google-services gradle plugin गुम हैं।

मुझे यकीन नहीं है कि क्या गलत है मानचित्र ठीक काम कर रहा है और मैं इसे बिना किसी समस्या के उपयोग कर सकता हूं। मेरी प्रविष्टि फ़ाइल में यह प्रविष्टि है:

संकलन 'com.google.android.gms: खेल-सेवाएं: 8.4.0'

इसके बारे में क्या शिकायत है और मैं इसे कैसे दूर करूं?


क्या यह आपके प्रकट में है: <मेटा-डेटा एंड्रॉइड: नाम = "com.google.android.gms.version" Android: value = "@ पूर्णांक / google_play_services_version" />
j2emanue


मैंने दोनों की कोशिश की है लेकिन अभी भी एक ही संदेश मिल रहा है!
ज़च

1
क्या आप डिवाइस प्ले सेवाएं एपीके अपडेटेड हैं?
अभिज्ञान

इन समाधानों में से कोई भी काम नहीं कर रहा था, लेकिन सर्विसेज एपीके को अपडेट करने से यह चाल चली गई!
midoriha_senpai

जवाबों:


38

आपको डेवलेपर फ़ाइल ( google-services.json) को developer.google.com द्वारा जनरेट करना होगा , जैसा कि यहाँ आधिकारिक डॉक्स के दूसरे चरण में बताया गया है

प्रक्रिया सरल है

  1. आप अपनी परियोजना का चयन कर सकते हैं या एक नया निर्माण कर सकते हैं।
  2. फिर वांछित सेवाओं (इस मामले में नक्शे सेवा) का चयन करने के बाद, आप कॉन्फ़िगरेशन फ़ाइल उत्पन्न कर सकते हैं।

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

  3. फिर यहाँ आधिकारिक डॉक्स के चरण 3 में उद्धृत

    google-services.jsonआपके द्वारा अभी-अभी डाउनलोड की गई फ़ाइल को अपने Android के एप्लिकेशन / या मोबाइल / निर्देशिका में कॉपी करें

पुनश्च: इस उत्तर को अस्वीकार करने वाले लोगों के लिए, कृपया टिप्पणी छोड़ दें कि आप इसे क्यों वोट कर रहे हैं।


6
क्या हमें Google Play Services के नए संस्करण के साथ वास्तव में अपने ऐप्स में इसकी आवश्यकता है? या यह सिर्फ Google साइन इन के लिए है? अजीब लगता है कि लॉग मुझे त्रुटियों फेंक के रूप में अगर मैं इसे की जरूरत है, लेकिन मैं नहीं हो सकता है
RED_

2
@Radix ... मैं आपके द्वारा साझा किए गए लिंक पर गया, लेकिन इसने मुझे Google साइन इन या Google क्लाउड मैसेजिंग के लिए पंजीकरण करने के लिए कहा ... मानचित्र के बारे में कुछ भी नहीं। कोई उपाय? इसके अलावा, इस json फ़ाइल को दाईं ओर / एप्लिकेशन में कॉपी करना अजीब है ... क्या आप स्पष्ट कर सकते हैं? बहुत धन्यवाद!
जॉनी वू

2
हमारे ऐप में पहले से ही google-services.json था, लेकिन 8.4.0 पर अपग्रेड करते समय हमें इसे फिर से बनाना पड़ा।
राय सोलबर्ग

1
एक ही मुद्दा, google-services.json को जोड़ने में मदद नहीं की, अजीब बात है कि यह मेरे पहले से सक्रिय gcm को नहीं देखता है और हर बार खुद की सर्वर कुंजी बनाना चाहता है
एंड्रयू वी।

11
Google पर उत्पाद प्रबंधक से यहां सही प्रतिक्रिया देखें: stackoverflow.com/questions/34365369/…
अहमद मौनीर

52

[उत्पाद प्रबंधक से @ Google]

आप google-services.jsonनीचे दिए गए चरणों का पालन करके अपने Android एप्लिकेशन के लिए फ़ाइल को डाउनलोड और कॉपी करके इस समस्या को ठीक कर सकते हैं:

  • इस लिंक से अपने ऐप / प्रोजेक्ट का नाम और एंड्रॉइड पैकजेनम चुनें और क्लिक करें Continue to Choose and configure services
  • क्लिक करें Continue to Generate Configuration files
  • डाउनलोड करें google-services.jsonऔर फ़ाइल को अपने एंड्रॉइड प्रोजेक्ट में app/या mobile/मॉड्यूल निर्देशिका में कॉपी करें ।

यदि आपने पहले अपने Google प्रोजेक्ट को Firebase में आयात किया है, तो आप प्रोजेक्ट सेटिंग्स के लिए Firebase कंसोल से अपडेट की गई google-services.json प्राप्त कर सकते हैं ।

जब तक google_app_id किसी प्रोजेक्ट में आपके ऐप को संदर्भित करता है और स्वयं प्रोजेक्ट नहीं है, तब तक किसी अन्य उत्तर द्वारा सुझाए गए PROJECT_NUMBER की प्रतिलिपि न बनाएं


1
जो लोग gradle-प्रयोगात्मक प्लगइन का उपयोग करते हैं, उनके लिए google-services.json प्रत्यक्ष रूप से प्रभावी नहीं होगा। कृपया वर्कअराउंड के लिए stackoverflow.com/a/38097895/457137 देखें ।
ज़्वॉइड

जसन फाइल को शामिल करना क्यों अनिवार्य है? मैं कोड में रनटाइम पर आईडी की आपूर्ति क्यों नहीं कर सकता?
21_25 बजे der_michael

फ़ाइल / ऐप dir में जाती है, शीर्ष-स्तरीय dir में नहीं?
इगोरगानपोलस्की

11

मेरे मामले में, इस त्रुटि का कारण यह था कि ग्रेडल और प्ले सर्विसेज लाइब्रेरी के लिए Google सेवा प्लगइन असंगत संस्करण थे। संगत संस्करणों के लिए निर्देश:

1) अपने प्रोजेक्ट-स्तर build.gradle पर निर्भरता जोड़ें:

classpath 'com.google.gms:google-services:1.5.0-beta2'

2) अपने ऐप-स्तर build.gradle में प्लगइन जोड़ें:

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

3) यदि आप एंड्रॉइड स्टूडियो का उपयोग कर रहे हैं, तो यह आपके एप्लिकेशन की बिल्ड.gradle फ़ाइल की निर्भरता अनुभाग में जोड़ने के लिए स्ट्रिंग है:

dependencies {
  compile "com.google.android.gms:play-services:8.3.0"
}

स्रोत: https://developers.google.com/cloud-messaging/android/client


1
धन्यवाद, लेकिन यह मेरे लिए काम नहीं करता था - एंड्रॉइड स्टूडियो का कहना है कि मेरे पास google-services.json फ़ाइल भी स्थापित है, हालांकि मैंने सोचा कि यदि आपने ऊपर दिए गए तीन चरणों का पालन किया, तो मुझे यह अनावश्यक लगा, जिसके लिए फ़ाइल की आवश्यकता को ओवरराइड करना चाहिए? जो मुझसे पूछता है: मुझे Google उपयोगकर्ता साइन-इन सिस्टम की आवश्यकता क्यों है यदि मैं जो कुछ भी प्रदान कर रहा हूं वह मूल मैपिंग है?
इयानडेली 13

1
मेरा समाधान सूचीबद्ध नहीं था, इसलिए मैंने लोगों को इस समस्या के लिए एक और संभावित समाधान देने के लिए सवाल का जवाब दिया। आपके मामले में, आपके पास अतिरिक्त पुस्तकालय स्थापित हो सकते हैं। केवल उपयोग करने का प्रयासcom.google.android.gms:play-services-maps:8.4.0
13rac1

@eosrei, केवल com.google.android.gms का उपयोग करते हुए: प्ले-सर्विसेज-मैप्स: 8.4.0 मेरे लिए काम किया, धन्यवाद!
अक्षय a६

4

मैं उसी समस्या से मिला और आधिकारिक समाधान के बाद इसे हल किया ।

यहाँ कदम हैं:

  1. इस लिंकgoogle-services.json से विन्यास फाइल प्राप्त करें

  2. google-services.jsonआपके द्वारा अभी-अभी डाउनलोड की गई फ़ाइल को अपने Android Studio प्रोजेक्ट के एप्लिकेशन / या मोबाइल / निर्देशिका में कॉपी करें ।

  3. अपने प्रोजेक्ट-स्तर build.gradle पर निर्भरता जोड़ें:

    classpath 'com.google.gms:google-services:1.5.0-beta2'
  4. अपने ऐप-स्तर build.gradle में प्लगइन जोड़ें:

    apply plugin: 'com.google.gms.google-services'
  5. इस निर्भरता को अपने ऐप-स्तर build.gradle में जोड़ें:

    dependencies {
        compile "com.google.android.gms:play-services:8.3.0"
    }

1
मुझे लगता है कि com.google.gms: google-services: 1.5.0 का उपयोग करना बेहतर है क्योंकि यह बेहतर है तो आपके ऐप में कुछ अप्रत्याशित त्रुटियों को दूर करने के लिए बीटा संस्करण है।
एंड्रयू वी।

@AndrewV। हाँ मैं सहमत हूँ। संस्करण "1.5.0-beta2" मैं ऊपर दिए गए लिंक से कॉपी किया गया था।
विल

1

उन लोगों के लिए जो सही ढंग से खेलने की सेवाओं की स्थापना और फ़ोल्डर google-services.jsonमें फ़ाइल रखने के बाद भी इस समस्या का सामना करते हैं project/app, वास्तविक समाधान है

Build > Rebuild Project

संभवतः इस तथ्य के कारण कि जस फ़ाइल से तार एक पूर्ण पुनर्निर्माण होने तक संकलित संसाधनों में एकीकृत नहीं होते हैं।


1

Xamarin / Visual Studio Mac के लिए मुझे अपने Droid.csproj के निचले हिस्से में इसे जोड़ने की आवश्यकता थी

<Target Name="ProcessGoogleServicesJson" Condition=" '@(GoogleServicesJson)' != '' AND '$(AndroidApplication)' == 'True' AND '$(DesignTimeBuild)' != 'True'" BeforeTargets="$(ProcessGoogleServicesJsonBeforeTargets)" AfterTargets="$(ProcessGoogleServicesJsonAfterTargets)">
<Message Text="Using ProcessGoogleServicesJson override" Importance="high" />
<ProcessGoogleServicesJson GoogleServicesJsons="@(GoogleServicesJson)" IntermediateOutputPath="$(IntermediateOutputPath)" MonoAndroidResDirIntermediate="$(MonoAndroidResDirIntermediate)" AndroidPackageName="$(_AndroidPackage)">
    <Output ItemName="_AndroidResourceDest" TaskParameter="GoogleServicesGeneratedResources" />
    <Output ItemName="FileWrites" TaskParameter="GoogleServicesGeneratedResources" />
</ProcessGoogleServicesJson>
<ItemGroup>
    <FileWrites Include="$(IntermediateOutputPath)\ProcessGoogleServicesJson.stamp" />
</ItemGroup>

https://github.com/xamarin/GooglePlayServicesComponents/issues/64


0

मेरे साथ भी ऐसा होता है। मेरे मामले में, ऐसा इसलिए है क्योंकि एंड्रॉइड स्टूडियो ने मेरी मुख्य गतिविधि में कुछ कोड डालने की कोशिश की। कोड को हटाने से त्रुटि ठीक हो जाती है

सम्मिलित कोड अनुप्रयोग अनुक्रमण के बारे में है:

https://developers.google.com/app-indexing/android/publish


0

मेरे पास भी यही मुद्दा था। केवल आवश्यक प्ले सर्विसेज लाइब्रेरी का उपयोग करके इसे हल करने में सक्षम था, जो मेरे मामले में जीसीएम।

इसके बजाय com.google.android.gms:play-services:8.4.0, मैं उपयोग करता हूं com.google.android.gms:play-services-gcm:8.4.0। अधिक जानकारी के लिए यहां देखें ; यह भी multidex समस्या हल करती है।

तब मैंने GCM के संदेश को हटाने के लिए @Radix और @ अलेक्जेंडर के दृष्टिकोण दोनों को लागू किया था google-services.json



0

एक त्वरित सुधार जिसका मैंने उपयोग किया है वह है हस्ताक्षर करना अक्षम करना। यदि आप उत्पादन कोड नहीं बनाना चाहते हैं तो आप अपने बिल्ड वेरिएंट को डिबग, लोकलओल्डबग या लोकलडबग पर सेट कर सकते हैं।

Android Studio में बायीं तरफ नीचे बने बिल्ड वेरिएंट पर क्लिक करें।

कैसे करने के लिए अक्षम-जनरेटेड-साइन्ड-apk-एंड्रॉयड स्टूडियो


टिप्पणी के रूप में सवाल पूछ सकते हैं
jjj

-2

बस एक और उपाय है कि मैं गलती से निकाल दूं

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
        .findFragmentById(R.id.map);
mapFragment.getMapAsync(this);

इसे जोड़ें और काम करें, नए समाधान के लिए है

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