2012-12-10 15 views
14

ठीक है, यहाँ मैं exampleमानचित्र API v2 में प्राधिकरण विफलता

  1. का उपयोग कर क्या किया Keytool के माध्यम से डिबग कुंजी (सुनिश्चित किया समझे यह डिबग कुंजी वरीयताओं में ग्रहण द्वारा प्रयोग किया जाता है -> एंड्रॉयड -> बिल्ड)
  2. आदेश

    $ keytool -List -v -keystore debug.keystore -alias androiddebugkey -storepass एंड्रॉयड -keypass एंड्रॉयड

  3. द्वारा कुंजी जनरेट किया गया कॉपी Google API कंसोल + में मेरी PackageName SHA1 राशि चिपकाया:

    राशि; com.my.package

  4. सक्षम Google API कंसोल में एक ही परियोजना

  5. उसकी प्रतिलिपि बनाई गूगल मानचित्र एपीआई v2 मेटा-डेटा में मैनिफेस्ट एप्लिकेशन के लिए।

  6. एसडीके प्रबंधक के माध्यम से डाउनलोड किया गया और Google- play-services_lib प्रोजेक्ट आयात किया गया और इसे लाइब्रेरी प्रोजेक्ट के रूप में संदर्भित किया गया। साथ ही ActionBarSherlock भी।

  7. लॉन्च करने से पहले मैं सुनिश्चित करता हूं कि Google PlayServices उपलब्ध हैं।

मैनिफ़ेस्ट:

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

<permission 
    android:name="com.my.package.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 

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

आवेदन:

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="debug_key"/> 

ProGuard सामान भी जोड़ रहे हैं, लेकिन मैं अभी अंधेरा करना नहीं है।

DrugstoresMapActivity SherlockFragmentActivity फैली

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <fragment 
     android:id="@+id/map_fragment" 
     class="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

</RelativeLayout> 

project.properties

target=android-17 
android.library.reference.1=../google-play-services_lib 
android.library.reference.2=../ActionBarSherlock 

ActionBarSherlock libs में एंड्रॉयड-support-v4 है, नहीं मुख्य परियोजना है कि अगर मायने रखती है।

StartupActivity यकीन DrugstoresMapActivity शुरू किया जाएगा कि केवल तभी सेवाएं उपलब्ध

private void attempt() { 
    int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext()); 

    switch (result) { 
     case ConnectionResult.SUCCESS: 
      startActivity(new Intent(this, DrugstoresMapActivity.class)); 
      finish(); 
      break; 

     default: 
      GooglePlayServicesUtil.getErrorDialog(result, this, REQUEST_DIALOG) 
       .show(); 
      break; 
    } 
} 

कुंजी डबल-जाँच ठीक हैं बनाता है। कोई सुराग जो मैंने यहां छोड़ा था।

+0

बस उत्सुक, आप इस बारे में कैसे पता लगाया? मैं प्रतिदिन तकनीकी ब्लॉग पर हूं, और एंड्रॉइड डेवलपर दस्तावेज़ों पर रोज़ाना हूं, और मुझे केवल अपने मौजूदा कोड में एंड्रॉइड मैप्स v1 के साथ एक असंभव समस्या को हल करने की कोशिश करने के बारे में पता चला। – CQM

+0

क्या पता है इसके बारे में जानें। गलत सेवा के बारे में सक्षम? यदि हां, तो आपको जवाब टिप्पणी में यह पूछना चाहिए था कि सवाल स्पष्ट नहीं है।मुझे इस मुद्दे के बारे में विभिन्न समस्याओं को ब्राउज़ करने के घंटों के बाद यहां स्टैक ओवरव्लो में कहीं भी सुझाव मिला। –

+0

नहीं, आपने एंड्रॉइड मैप्स v2 के बारे में कैसे पता लगाया, मुझे एहसास हुआ कि मैं * केवल * दो सप्ताह देर से हूं, लेकिन मुझे लगता है कि इसका एक बड़ा सौदा – CQM

उत्तर

46

गलत सेवा सक्षम थी। सुनिश्चित करें कि "Google मानचित्र एंड्रॉइड एपीआई v2", "Google मानचित्र API v2" सक्षम नहीं है और API कुंजी को पुन: उत्पन्न करता है।

+2

+1 बिंगो .. :) मैं एपीआई कुंजी से चिपक गया, कीस्टोरों को हटा रहा हूं, ऐप पैकेज का नाम बदलता हूं .. –

+1

Google मानचित्र एंड्रॉइड एपीआई v2 को सक्षम करने के बाद भी यह मेरे लिए काम नहीं कर रहा था। इसलिए मैंने अपने मैनिफेस्ट में लक्ष्य एसडीके को 16 से 17 तक बदलने की कोशिश की और इसे ठीक किया। नोट 16 पर वापस स्विचिंग अभी भी काम किया। –

+1

ओह मेरा शब्द - यह मेरी समस्या भी थी और मैं अपने बालों को खींच रहा था। धन्यवाद!! – SNyamathi

संबंधित मुद्दे