Google मैप्स Android API v2 प्राधिकरण विफलता


95

मेरे कदम:

  • debug.keystore से SHA1 कोड मिला
  • google apis कंसोल में ऐप बनाएं
  • सक्षम गूगल मानचित्र एपीआई v2
  • इनपुट SHA1; my.package.name
  • एपीआई कुंजी प्राप्त करें
  • AndroidManifest फ़ाइल बनाई गई:

        <permission
                android:name="my.package.name.permission.MAPS_RECEIVE"
                android:protectionLevel="signature"/>
    
        <uses-permission android:name="my.package.name.permission.MAPS_RECEIVE"/>
    
        <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
    
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    
        <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    
        <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:hardwareAccelerated="true">
    
            <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_API_KEY_HERE" />
    
            <activity android:name="MyActivity"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
        </application>
    </manifest>
    
  • निर्मित लेआउट

  • "google-play-services.jar" को libs पर रखें

संकलन के बाद मुझे दुर्घटना हुई है:

  ERROR/AndroidRuntime(10182): FATAL EXCEPTION: main
                java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
                at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
                at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
                at android.app.Activity.onCreateView(Activity.java:4716)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
                at android.app.Activity.setContentView(Activity.java:1881)
                at com.example.gm2.MyActivity.onCreate(MyActivity.java:16)
                at android.app.Activity.performCreate(Activity.java:5104)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
                at android.app.ActivityThread.access$600(ActivityThread.java:141)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:5039)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
                at dalvik.system.NativeStart.main(Native Method)

उसके बाद मैंने लेआउट को इसमें बदल दिया है:

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/map"
             android:layout_width="match_parent"
             android:layout_height="match_parent" />

और MyActivity को बदल दिया

  super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    FragmentManager manager = getFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();

    transaction.add(R.id.map, MapFragment.newInstance());           
    transaction.commit();

परिणामस्वरूप, आवेदन शुरू किया गया था, लेकिन मैंने नक्शा नहीं देखा था।

कंसोल लॉग:

ERROR/Google Maps Android API(10369): Authorization failure.

1
हे भगवान! मैं हमेशा एक ही त्रुटि आर $ शैली वर्ग नहीं मिला था। अब मैंने MapFragment को लागू करने के लिए अपने कोड को अपने प्रोग्रामेटिक तरीके से बदल दिया और यह काम करता है! धन्यवाद! लेकिन आपको नीचे वर्णित की तरह आपको कुंजी बनाने की आवश्यकता है
Informatic0re

जवाबों:


103

चरण :

  • यह सुनिश्चित करने के लिए कि डिवाइस में Google Play सेवाएं एपीके हैं
  • Google Play Service Rev को स्थापित करने के लिए। 2 से अधिक

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

  • https://code.google.com/apis/console/ पर प्रोजेक्ट बनाने के लिए
  • "Google मैप्स Android API v2" सक्षम करने के लिए यहां छवि विवरण दर्ज करें
  • परियोजना में SHA1 का पंजीकरण करने के लिए ( अब, आप WRITE SHA1 की आवश्यकता है; एपीआई कंसोल पर API.app.package.name ) और एपीआई कुंजी प्राप्त करें
  • निर्देशिका को कॉपी करने के लिए ANDROID_SDK_DIR / extras / google / google_play_services / libproject / google-play-services_lib को अपनी परियोजना के मूल में रखें
  • Your_PROJECT / project.properties को अगली पंक्ति जोड़ने के लिए

android.library.reference.1=google-play-services_lib

  • अगली पंक्तियों को जोड़ने के लिए YOUR_PROJECT/proguard-project.txt

-keep class * extends java.util.ListResourceBundle {

   protected Object[][] getContents();

}

अब आप Android के लिए Google मानचित्र API V2 का उपयोग करके अपना स्वयं का Google मानचित्र ऐप बनाने के लिए तैयार हैं।

यदि आप मिनट SDK = 8 के साथ आवेदन बनाते हैं, तो कृपया MapFragment के बजाय android समर्थन लाइब्रेरी v4 + SupportMapFragment का उपयोग करें।


इन निर्देशों ने पूरा काम नहीं किया। मैं एपीआई एपीआई नमूना आवेदन से proguard.cfg की नकल करने की जरूरत है। तभी इसने काम करना शुरू कर दिया।
योएल ग्लूशैनेडर

इसके अलावा, मैंने देखा कि हस्ताक्षर एल्गोरिथ्म SHA1withRSA होना चाहिए और SHA256withRSA नहीं होना चाहिए (डिबग कुंजी के लिए ग्रहण द्वारा बनाया गया डिफ़ॉल्ट)।
योएल ग्लूसनैकेर

1
धन्यवाद! to enable "Google Maps Android API v2" -स्टेप ने मेरी समस्या हल कर दी।
जोहान

1
@YoelGluschnaider: मैं SHA256withRSA से SHA1wINRSA में डिफ़ॉल्ट एल्गोरिथ्म कैसे बदल सकता हूं?
संतोश

धन्यवाद! मैं SupportMapFragment का उपयोग करने के लिए आपके विचार से बच गया था।
इल्या कोगन

35

इस पोस्ट को भी देखें: Google मानचित्र Android Api V2 नमूना कोड काम नहीं कर रहा है , यदि आप पूरी तरह से सुनिश्चित हैं कि आपने सही कदम उठाए हैं तो दूसरे उत्तर का पालन करें, प्रमाणीकरण कहीं कैश हो जाता है, एप्लिकेशन को मैन्युअल रूप से अनइंस्टॉल करने का प्रयास करें (जैसे आप एक साथ करते हैं सामान्य अनुप्रयोग) फिर "रन" फिर से परियोजना


6
मैं विश्वास नहीं कर सकता कि बस काम किया है। धन्यवाद @ एलेजैंड्रो डेल रियो :)
दार्शनिक

मैं शर्त लगाता हूं, मेरी तरह ही, यहां के 90% लोग वास्तव में यही जवाब चाहते हैं और चयनित नहीं (हालांकि मददगार भी)
कालिस्की

मेरे लॉग में प्रमाणीकरण त्रुटि संदेश के साथ Stackoverflow पढ़ते समय मेरे मामले में कैश (?) अपडेट किया गया था। एप्लिकेशन स्क्रीन के साथ चल रहा था, कुछ मिनटों के बाद नक्शा लोड किया गया था और कोई और अधिक त्रुटि नहीं थी। मुझे लगता है कि एक पुनर्स्थापना ने भी ऐसा किया होगा।
जॉन

2
भविष्य के पाठकों के लिए। हटाएँ binऔर gen। स्वच्छ, पुनर्निर्माण और कैश्ड क्रेडेंशियल्स का नवीनीकरण किया जाता है।
जॉर्ज दारोमसकस

20

चूंकि मुझे काम करने के लिए एपीआई प्राप्त करने में बहुत समय बर्बाद हो गया है, मैं मानचित्र एपीआई v2 के लिए चरण-दर-चरण सत्यापन देने का प्रयास करूंगा:

चरण 1: अपनी एपीआई कुंजी के लिए आवेदन करें

यदि आप Google API कंसोल से अपरिचित हैं, तो ऊपर दिए गए रुसेफर्थ का बहुत अच्छा उत्तर पढ़ें।

चरण 2: आप SHA हैश की जांच करें (इस मामले में मैं ग्रहण की डिबग कुंजी का उपयोग करता हूं):

एक कमांड प्रॉम्प्ट पर आपके उपयोगकर्ता निर्देशिका के लिए एक विंडोज मशीन पर:

C:\Users\you>keytool -list -alias androiddebugkey -keystore .android\debug.keyst
ore -storepass android -keypass android

आपको कुछ ऐसा मिलेगा:

androiddebugkey, 15.10.2012, PrivateKeyEntry,
Zertifikat-Fingerprint (SHA1): 66:XX:47:XX:1E:XX:FE:XX:DE:XX:EF:XX:98:XX:83:XX:9A:XX:23:A6

फिर मानचित्र गतिविधि के अपने पैकेज का नाम देखें, जैसे com.example.mypackagename

आप इसे जोड़ते हैं और जाँचते हैं कि Google API कंसोल में आपकी सेटिंग्स:

66:XX:47:XX:1E:XX:FE:XX:DE:XX:EF:XX:98:XX:83:XX:9A:XX:23:A6;com.example.mypackagename

जहां आपको अपनी API- कुंजी मिलती है:

AZzaSyDhkhNotUseFullKey49ylKD2bw1HM

स्टेप 3. मेनिफेस्ट मेटा डेटा

जांचें कि क्या मेटा-डेटा मौजूद है और सही कुंजी है। यदि आप अपना ऐप जारी करते हैं, तो आपको एक अलग कुंजी की आवश्यकता है।

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AZzaSyDhkhNotUseFullKey49ylKD2bw1HM" />
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

चरण 4. प्रकट विशेषताएं:

आपको इस प्रविष्टि की आवश्यकता है क्योंकि मानचित्र एपीआई को कुछ अंगूरों के समर्थन की आवश्यकता है:

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

चिंता न करें, 99.7% डिवाइस इसका समर्थन करते हैं।

चरण 5. मैनिफेस्ट लाइब्रेरी:

Google लाइब्रेरी जोड़ें।

    <uses-library
        android:name="com.google.android.maps"
        android:required="false" /> // This is required if you want your app to start in the emulator. I set it to false also if map is not an essential part of the application.

चरण 6. प्रकट अनुमति:

पैकेज का नाम दो बार जांचें: com.example.yourpackage

<permission
    android:name="com.example.yourpackage.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.example.yourpackage.permission.MAPS_RECEIVE" />

निम्नलिखित अनुमतियाँ जोड़ें:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

यदि आप सिर्फ एक नक्शा दिखाते हैं तो निम्नलिखित अनुमतियाँ वैकल्पिक हैं और इसकी आवश्यकता नहीं है। उनका उपयोग न करने का प्रयास करें।

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

चरण 7. मानचित्र के टुकड़े को अपने लेआउट में शामिल करें:

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    class="com.google.android.gms.maps.SupportMapFragment"
    map:cameraTargetLat="47.621120"
    map:cameraTargetLng="-122.349594"
    map:cameraZoom="15" />

यदि आपकी रिहाई 2.x Android संस्करणों में आपको अपनी गतिविधि में समर्थन जोड़ने की आवश्यकता है:

import android.support.v4.app.FragmentActivity;

मानचित्र के लिए: काम करने के लिए प्रविष्टियां शामिल हैं

xmlns:map="http://schemas.android.com/apk/res-auto"

अपनी गतिविधि के लेआउट में (जैसे कि LinearLayout)।

मेरे मामले में मुझे हर बार लेआउट में कुछ बदलने के लिए परियोजना को साफ करना होगा। एक बग लगता है।

चरण 8: ग्रहण - परियोजना - स्वच्छ का उपयोग करें।

का आनंद लें!


मैं आपके चरणों का पालन कर रहा हूं, लेकिन एपीआई की में त्रुटि, कोई समाधान?
हेमंत पीवीसी

1
+1 के लिए <मेटा-डेटा एंड्रॉइड: नाम = "com.google.android.maps.v2.API_KEY" एंड्रॉइड: मान = "AZzaSyDkhNotUseFullKey49ylKD2b1HM" />
null-Pointer-

16

आपको यहां स्थित लाइब्रेरी प्रोजेक्ट का उपयोग करने की आवश्यकता है: ANDROID-SDK-DIRECTORY / अतिरिक्त / google / google_play_services / libproject

यह आपके पहले अंक को ठीक कर देगा।

मुझे आपके दूसरे के बारे में निश्चित नहीं है, लेकिन यह पहले का दुष्प्रभाव हो सकता है। मैं अभी भी अपने ऐप में काम कर रहे नक्शे को पाने की कोशिश कर रहा हूँ :)


मैंने extras / google / google_play_services / libproject / libs / google-play-services.jar को MY_PROJECT / libs में कॉपी किया।
रसफियरथ

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

मैं ग्रहण का उपयोग नहीं करता (आइडिया का उपयोग करता हूं)
रसफियरथ

मुझे यकीन नहीं है कि आइडिया में लाइब्रेरी प्रोजेक्ट्स कैसे काम करते हैं, लेकिन blogs.jetbrains.com/idea/2010/09/… में वह जानकारी होनी चाहिए।
स्कॉट केनेडी

17
मैंने पाया है कि यह काम क्यों नहीं किया। मैंने Google मानचित्र Android API v2 सेवा के बजाय Google मानचित्र API v2 चालू किया। = (मुझ पर शर्म करो ....
रुसफियरथ

5

आज मुझे इस समस्या का सामना करना पड़ा। मैंने एंड्रॉइड स्टूडियो 2.1.3, विंडोज़ 10 का उपयोग किया। डिबगिंग के दौरान यह ठीक काम करता है, लेकिन अगर मैं रिलीज़ मोड में अपडेट करता हूं तो यह काम नहीं करता है। मैंने सभी सुरक्षा स्थितियों को साफ़ किया, अपडेट किया, लेकिन यह समाधान नहीं था।

समाधान परियोजना संरचना से संबंधित है। Google_maps_api.xml फ़ाइल app \ src \ debug \ res और app \ src \ release / res के बीच अलग थी। मैंने डिबग से रिलीज़ फ़ोल्डर में मैन्युअल कॉपी पेस्ट किया।

अब यह काम कर रहा है।


4

मैंने सबसे अधिक अनुसरण किया, यदि नहीं, तो गुन्नार बर्नस्टीन के सुझावों का सभी ने उल्लेख किया है और यह अभी भी काम नहीं किया है। हालाँकि, मैंने उनके सुझावों और निम्नलिखित का पालन करने के बाद काम करना शुरू किया:

  1. मैंने एंड्रॉइड स्टूडियो की राइट क्लिक विकल्पों की सूची का उपयोग करके एक नई मैपएक्टिविटी बनाई: नई -> Google -> Google मैप्स गतिविधि

  2. मैंने तब google_maps_api.xml फ़ाइल खोली जो स्वचालित रूप से उत्पन्न होती है और एक नई एपीआई कुंजी बनाने के लिए बताए गए लिंक का उपयोग करती है। मैंने सभी चरणों को किया और अपनी वर्तमान परियोजना के तहत अपनी नई कुंजी को बचाया। मैंने तब अपने पुराने पंजीकृत एपीआई कुंजी को हटा दिया क्योंकि इसकी अब आवश्यकता नहीं थी।

  3. मैनिफ़ेस्ट फ़ाइल के तहत मैंने पुराने एपीआई कुंजी को इस नई XML फ़ाइल द्वारा बनाए गए स्ट्रिंग शॉर्टकट के साथ बदल दिया: android:value="@string/google_maps_key", सीधे सीधे कुंजी बताने के बजाय।

  4. अंत में, नई MapActivity को हटा दें, लेकिन उस प्रक्रिया में बनाई गई xml फ़ाइल को रखें।

नोट: इस तरह एपीआई कुंजी बनाकर, क्रेडेंशियल के तहत प्रतिबंध कॉलम, जिसे अब "एंड्रॉइड ऐप्स" कहा जाता है। इससे पहले, जब यह "एंड्रॉइड ऐप्स, 1 एपीआई" या कुछ इसी तरह के कॉलम में काम नहीं करता था। मुझे नहीं पता कि इससे कोई फर्क पड़ता है या नहीं। नोट: नहीं, इसका मतलब यह है कि मेरे पास इस API कुंजी (कंसोल -> API कुंजी -> कुंजी प्रतिबंध -> API प्रतिबंध) के लिए चयनित विशिष्ट API नहीं है।

नोट: यह मैनिफ़ेस्ट फ़ाइल के अंतर्गत मेटा-डेटा टैग जैसा दिखता है:

android:name="com.google.android.maps.v2.API_KEY

द्वारा प्रतिस्थापित किया गया है:

android:name="com.google.android.geo.API_KEY"

मुझे लगता है कि दोनों का उपयोग किया जा सकता है लेकिन यह बाद के उपयोग से शुरू से बेहतर है।

ध्यान दें: बिल्ड में बताया गया है। निर्माण फ़ाइल में, android के तहत -> defaultConfig -> applicationId को क्रेडेंशियल पृष्ठ के तहत पैकेज नाम पाठ से मेल खाना है ।


यह वास्तव में मेरे साथ क्या हुआ और इस समाधान ने कंसोल से चेतावनी तय की। किसी तरह आयनिक निर्माण ने इसे बदल दिया।
अंतरिक्ष यात्री

8 घंटे की खोज के बाद, मैं वापस देखता हूं और इस समाधान को लागू करता हूं। Solved!!!
मीयासीर

3

बस इसे अपनी मैनिफ़ेस्ट फ़ाइल में जोड़ें:

**<uses-library android:name="com.google.android.maps" />**

उदाहरण के लिए...

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".California"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

और कृपया अपनी google play service lib को अपडेट करें ... विंडो पर जायें -> Android sdk manager-> अपडेट गूगल प्ले सर्विस ... इसे इंस्टॉल करें ... इसे पुराना रखें और इसे एक रखें। ANDROID-SDK-DIRECTORY / अतिरिक्त / google / google_play_services / से इसे लें

धन्यवाद..कृपया मतदान करें


3

मैंने इस त्रुटि को पैकेज नाम को प्रकट और ऐप में जाँच कर हल किया build.gradle

प्रकट में:

मैं पैकेज नाम का उपयोग कर रहा हूं:

com.app.triapp

एप्लिकेशन बिल्ड.ग्रेड में:

 defaultConfig {

        applicationId "com.app.live"
    }

करने के लिए बदल करने के बाद com.app.triappमें build.gradle, मेरे समस्या हल हो जाती।


1
बहुत बहुत धन्यवाद। तुम मेरा टन बचाओ।
YeeKhin

1
बहुत बढ़िया भाई। मेरे पास सब कुछ ठीक है, इसके बजाय एक
मुबाशर जावेद

2

मैं Google मैप्स के V1 से V2 तक माइग्रेट कर रहा हूं। मुझे यह असफलता ग्रहण के माध्यम से ऐप चलाने की कोशिश में मिल रही थी। मेरे लिए मूल कारण एंड्रॉइड डीबग कीस्टोर के बजाय मेरे रिलीज़ सर्टिफिकेट कीस्टोर का उपयोग करना था जो कि जब आप इसे एक्लिप्स के माध्यम से चलाते हैं तो इसका उपयोग किया जाता है। निम्न कमांड (OSX / Linux) आपको डीबग कीस्टोर की SHA1 कुंजी मिलेगा:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

यदि आप इसके बजाय विंडोज 7 का उपयोग कर रहे हैं, तो आप इस कमांड का उपयोग करेंगे:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

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


1

"java.lang.NoClassDefFoundError: com.google.android.gms। नया स्टाइलर"

A के पास यह त्रुटि थी, आपको यह करने की आवश्यकता है: फ़ाइल -> आयात -> मौजूदा एंड्रॉइड कोड कार्यक्षेत्र में -> ब्राउज़ करें -> Android sdks -> extras -> google -> google_play_services -> lib_project - google_play_services_lib और ठीक। प्रोजेक्ट की जाँच करें और समाप्त करें।

प्रोजेक्ट पैकेज एक्सप्लोरर में जाता है। अब अपने प्रोजेक्ट पर जाएं (त्रुटि के साथ) -> गुण -> Android और लाइब्रेरी में क्लिक करें Add ... google_play_services_lib होना चाहिए! जोड़ें और पुन: प्रयास करें :)


1

मेरे पास एक ही मुद्दा था लेकिन यह पता चला कि ऐसा इसलिए था क्योंकि मैंने एक ही SHA-1 फिंगरप्रिंट के साथ लगभग समान पैकेज नाम com.bla.blaऔर दूसरे के साथ दो अलग-अलग मानचित्र एपीआई कुंजी बनाई थीं com.bla.bla.something


0

मेरे पास ठीक यही मुद्दा था और मुझे मैप्सएपीवी 2 के लाइब्रेरी प्रोजेक्ट के लिए एसडीके को Android 2.3.3 (एपीआई lvl 10) पर सेट करने की आवश्यकता थी


मुझे यह सामग्री याद नहीं है
Informatic0re

0

मेरी भी यही समस्या थी। लगभग दो घंटे की गुगली, रिट्रीट, एपीआई कुंजी को कई बार पुनर्जीवित करने आदि के बाद, मुझे पता चला कि मैंने Google APis कंसोल में गलत सेवा को सक्षम किया है। मैंने सक्षम किया Google मानचित्र API v2 सेवा को , लेकिन Android ऐप्स के लिए आपको Google मानचित्र Android API v2 का उपयोग करना होगा । सही सेवा को सक्षम करने के बाद सभी ने काम करना शुरू कर दिया।


0

आपकी ECLIPSE MAYBE बदल गई SHA1 कुंजी, इसलिए आपको नई SHA1 कुंजी के साथ अपनी Google कुंजी यहां पुनः प्राप्त करनी होगी: https://console.developers.google.com/project/watchful-net-796/apiui-credential उसके बाद, नई कुंजी की प्रतिलिपि बनाएँ प्रकट होने पर और इस Google पृष्ठ को कुछ बार पुनः लोड करें, और आपकी कुंजी अपडेट हो जाएगी, अपनी परियोजना का पुनर्निर्माण करें, यह काम करेगा। P / S: अपनी त्रुटि के लिए, मैंने .android फ़ोल्डर को हटा दिया ताकि ग्रहण पुनः SHA1 हो जाए।


0

मैंने Google Doc में दिए गए उसी चरण का अनुसरण किया लेकिन मुझे वही त्रुटि मिल रही थी। बाद में मुझे एहसास हुआ कि मैं अपने ऐप के साथ अपने ऐप पर हस्ताक्षर कर रहा था। शाइस्टॉर और SHA कुंजी जिसे मैं एपीआई कुंजी उत्पन्न करने के लिए उपयोग कर रहा था वह डीबग थी।

इसलिए मैंने बस फ़ाइल signingConfig signingConfig.genericसे हटा दिया build.gradleऔर मेरा नक्शा ठीक काम करने लगा।

आशा है कि यह किसी की मदद करता है।


0

मैंने उसी मुद्दे का सामना किया।

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


0

मेरे लिए, सब कुछ एक एमुलेटर और एक भौतिक उपकरण में दोनों काम कर रहा था।

हालाँकि, यह मेरे लिए तब काम करना बंद कर दिया जब मैंने एक नए एप्लिकेशन को एक नए एपीआई स्तर के साथ एक एमुलेटर में डिबग करने के लिए स्थापित किया।

मुझे एहसास नहीं हुआ कि फिंगरप्रिंट उस मशीन के लिए बदल गया है। डिवाइस लॉग I में प्रमाणीकरण विफलता त्रुटि लॉग देखने के बाद, मैंने अपने Google डेवलपर कंसोल में फिंगरप्रिंट की तुलना त्रुटि संदेश में एक के साथ की। तभी मैंने अंतर देखा। डेवलपर कंसोल (पैकेज नाम के साथ संयोजन में) में नया फ़िंगरप्रिंट जोड़ने के बाद मेरा ऐप नई प्रणाली पर एमुलेटर में अपेक्षित रूप से काम करना शुरू कर दिया।

इसलिए यदि आप एक नई प्रणाली स्थापित करते हैं, तो अपनी उंगलियों के निशान फिर से जांचें!


0
  • सुनिश्चित करें कि मैप्स SDK for Androidएपीआई कंसोल में सक्षम है।
  • इसके अलावा, आपको अपनी कुंजी पूरी तरह से सक्षम होने के लिए उपयोग को प्रतिबंधित करने के लिए अपने पैकेज का नाम और SHA-1 हस्ताक्षर-प्रमाणपत्र फिंगरप्रिंट जोड़ने की आवश्यकता हो सकती है।

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

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