2013-03-27 10 views
5

मैं एंड्रॉइड के लिए Google मानचित्र लागू कर रहा हूं। मैंने एक परीक्षण आवेदन बनाया और उस आवेदन में सभी अनुमतियां इत्यादि डालीं और आवेदन बेकार ढंग से काम किया।Google मानचित्र एंड्रॉइड वी 2 - खाली स्क्रीन

लेकिन जब मैं अपने असली एप्लिकेशन पर एक ही कोड को कॉपी और कॉपी करता हूं तो यह मुझे एंड्रॉइड गतिविधि पर खाली स्क्रीन दिखाता है। हालांकि मैंने पैकेज नाम को google api console में अपडेट किया है।

यहाँ क्या मेरी टेस्ट परियोजना प्रकट तरह दिखाई देता है:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.mapstutorial" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<permission 
    android:name="com.example.mapstutorial.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.mapstutorial.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 

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

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
<uses-library android:name="com.google.android.maps" /> 
    <meta-data 
android:name="com.google.android.maps.v2.API_KEY" 
android:value="my api key"/> 

    <activity 
     android:name="com.example.mapstutorial.MainActivity" 
     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> 

और यहाँ क्या मेरा असली परियोजना प्रकट दिखता है की तरह है:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.shop.shoppinglist" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> 

<permission  android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
<permission  android:name="com.shop.shoppinglist.permission.C2D_MESSAGE" android:protectionLevel="signature" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<uses-permission android:name="com.shop.addtask.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="com.shop.shoppinglist.permission.C2D_MESSAGE" /> 

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

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:allowBackup="true" 
    android:theme="@style/AppTheme" > 

    <uses-library android:name="com.google.android.maps"/> 
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/> 

    <activity 
     android:name=".Login_Activity" 
     android:label="@string/title_activity_main" 
     android:theme="@style/Theme.Sherlock" 
     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

मैं पैकेज का नाम com.shop.addtask करने के लिए अद्यतन मेरी कंसोल फिंगरप्रिंट लेकिन फिर भी यह मुझे सफेद स्क्रीन दिखाता है। समस्या का कारण क्या हो सकता है? apikey मैंने दोनों अनुप्रयोगों में उपयोग किया है। लेकिन यह test application पर real app पर काम करता है।

  • मैं api कुंजी बना लिया है फिंगरप्रिंट
  • मैं on गूगल स्विच किया है का उपयोग कर सांत्वना
  • मैं एक ही api कुंजी कंसोल में उल्लिखित उपयोग कर रहा हूँ में एंड्रॉयड वी 2 मैप करता है।

तो ये चीजें सही हैं और समस्या उनमें से किसी के कारण नहीं हो सकती है।

+0

अपनी कीस्टोर की जांच करें। – akaya

+0

क्या आपको कोई त्रुटि मिल रही है? यदि ऐसा है तो हम एक स्टैक ट्रेस देख सकते हैं? – Rarw

+0

@kaya मैंने कंसोल से एंड्रॉइड कुंजी को भी हटा दिया है 'SHA1' को पुन: उत्पन्न किया और कंसोल में एक नई कुंजी बनाई, जिसमें' SHA1 'को एपीआई कुंजी मिली और इसका इस्तेमाल किया गया। लेकिन फिर भी वही परिणाम – Mj1992

उत्तर

6

2 संभावित कारण:

1. इस हिस्से:

<uses-library android:name="com.google.android.maps"/> 
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/> 

सही से पहले करना चाहिए समापन application टैग।

2. अधिकतर आपको अपनी कुंजी के साथ कुछ प्रकार की समस्या है। debug.keystore फ़ोल्डर को हटाकर और एक प्रोजेक्ट चलाकर नया उत्पन्न करने का प्रयास करें। फिर इसे कंसोल के माध्यम से फिर से पंजीकृत करें।

Google Map API V2 key

अपडेट:: एक पल के लिए

चेक करें:

आप सिर्फ इतना है कि क्या करने के लिए इस गाइड मैंने लिखा उपयोग कर सकते हैं

<permission  android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 

यह है कि लग रहा है आपके द्वारा सेट किया गया पैकेज आपके आवेदन का पैकेज नहीं है और यह होना चाहिए:

<uses-permission android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE"/> 
    <permission  android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
+0

से संदर्भित मैंने debug.keystore को हटा दिया और उसके बाद एक नई एपीआई कुंजी प्राप्त करने के लिए सभी चरणों का पालन किया नया फिंगरप्रिंट फिर भी मुझे एक ही त्रुटि मिलती है – Mj1992

+0

अद्यतन उत्तर की जांच करें। –

+0

'MapActivity'' com.shop.addtask' पैकेज में है इसलिए मैंने निर्दिष्ट पैकेज नाम – Mj1992

1
<permission  android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
<uses-permission android:name="com.shop.addtask.permission.MAPS_RECEIVE"/> 

पैकेज का नाम है

package="com.shop.shoppinglist" 

आशा लिंक नीचे आप में मदद करता है, AndroidManifest.xml for Google Maps Android API v2

इस कोशिश,

<permission  android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
<uses-permission android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE"/> 
1

सब कुछ विफल रहता है के बाद, एप्लिकेशन को अनइंस्टॉल करने की कोशिश और फिर कोशिश करें। यह मेरे मामले में काम किया।

0

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

एंड्रॉइड 4.2.2: सेटिंग्स/ऐप्स/आपका ऐप/साफ़ डेटा।

मुझे आशा है कि यह सरल समाधान मदद करता है जब सब कुछ विफल हो जाता है।

0

ठीक है, मैं एक ही समस्या है, मैं ब्लॉग और गूगल आधिकारिक पृष्ठ के सभी चरणों का पालन करें और काम नहीं कर रहा, समाधान सही
<uses-library android:name="com.google.android.maps"/>
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/>
पास आवेदन टैग से पहले है, लेकिन में अन्य मामले में मुझे समाधान मिला, समस्या यह है कि मैं SHA1मैकिंथोश में कोड उत्पन्न करता हूं लेकिन मैंने रिपॉजिटरी को क्लोन किया और विंडोज प्लेटफार्म में काम किया लेकिन मुझे यह समस्या मिली, मेरे समाधान यह है कि Google कंसोल पर जाएं और अन्य apikey उत्पन्न करें लेकिन विंडोज़ में इस कॉमांड का उपयोग करके SHA1 कोड प्राप्त करें, कंसोल खोलें और इस कोड
cd C:\Program Files\Java\jre1.8.0_20\bin and press enter
अगले कदम के प्रति आपके द्वारा लिखे गए हैं और इस कोड

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

प्रेस के बाद सांत्वना आप SHA1 कोड कॉपी दिखाने के लिए और एक गूगल कंसोल में पेस्ट अंदर प्रवेश पेस्ट, बहुत महत्वपूर्ण निर्दिष्ट SHA1 कोड है "; " और सही पैकेज ..

संबंध !!!

+1

स्टैक ओवरव्लो में आपका स्वागत है। आपको पहले [सहायता केंद्र] (http://stackoverflow.com/help) पर जाना होगा। अपने कोड को थोड़ा और पठनीय बनाने की कोशिश करें। :) – afzalex

0

मुझे मानचित्र के साथ एक ही समस्या है। सभी lib और key समस्याओं को ठीक करने के बाद, मैंने बस "Google" के साथ एक सफेद स्रीन देखा। समस्या यह थी कि मैंने MapFragment को ScrollView में रखा था। ScrollView को हटाने के बाद सब कुछ ठीक काम करता है। मैं नक्शा देख सकता हूँ।

1

मेरे समस्या यह है कि मैं AndroidManifest फ़ाइल में ऐप का पैकेज नाम बदल दिया है, लेकिन नहीं gradle.build के "applicationId" संपत्ति, हो सकता है कि किसी को मदद करता है ...

0

चेक कि क्या आप गूगल मैप्स एंड्रॉयड सक्षम था एपीआई या

  • Google मानचित्र डेवलपर कंसोल खोलें।
  • लाइब्रेरी पर जाएं -> Google मानचित्र एंड्रॉइड एपीआई
  • यदि यह अक्षम है, तो इसे सक्षम करें। enter image description here
संबंधित मुद्दे