एंड्रॉइड Google मानचित्र त्रुटि android.view.InflateException: बाइनरी एक्सएमएल फ़ाइल लाइन # 6: वर्ग खंड शुरू करने में त्रुटि

तो एक ही त्रुटि पर लगभग 15 अलग-अलग स्टैक ओवरफ़्लो प्रश्नों के माध्यम से जाने के बाद, मेरे पास गतिविधि ComponentInfo प्रारंभ करने में असमर्थ होने के बारे में एक और सवाल है।

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



    
    

    

    
    
    
    

    <!-- Required to show current location -->
    
    

    

    
        
            
                

                
            
        
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="AIzaSyAI********************-EhL8Ys" />
    


ऊपर प्रकट किया गया है। नीचे एक्सएमएल और मुख्य गतिविधि हैं।

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.SupportMapFragment;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.widget.Toast;

public class MainActivity extends FragmentActivity {

   //Google Map
    private GoogleMap googleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
           //Loading map
            initializeMap();

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * function to load map. If map is not created it will create it for you
     * */
    private void initializeMap() {
        if (googleMap == null) {
            googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
           //check if map is created successfully or not
            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        initializeMap();
    }

}

एक्सएमएल फाइल

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


    


अंत में LogCat

11-24 14:30:44.293: E/AndroidRuntime(17980): FATAL EXCEPTION: main
11-24 14:30:44.293: E/AndroidRuntime(17980): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hauntingongrounds/com.example.hauntingongrounds.MainActivity}: android.view.InflateException: Binary एक्सएमएल फाइल line #6: Error inflating class fragment
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.os.Looper.loop(Looper.java:137)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.main(ActivityThread.java:5041)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at java.lang.reflect.Method.invokeNative(Native Method)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at java.lang.reflect.Method.invoke(Method.java:511)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at dalvik.system.NativeStart.main(Native Method)
11-24 14:30:44.293: E/AndroidRuntime(17980): Caused by: android.view.InflateException: Binary एक्सएमएल फाइल line #6: Error inflating class fragment
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.Activity.setContentView(Activity.java:1881)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.example.hauntingongrounds.MainActivity.onCreate(MainActivity.java:21)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.Activity.performCreate(Activity.java:5104)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
11-24 14:30:44.293: E/AndroidRuntime(17980):    ... 11 more
11-24 14:30:44.293: E/AndroidRuntime(17980): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4030500 but found 0.  You must have the following declaration within the  element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.common.GooglePlayServicesUtil.n(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.internal.q.v(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.internal.q.u(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.SupportMapFragment$b.cE(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.SupportMapFragment$b.a(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.dynamic.a.a(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:290)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
0
जोड़ा संपादित
विचारों: 1
तो मैं इसे ठीक करने के बाद नया कोड दिखाने के लिए इसे संपादित कर रहा हूं और नया लॉग ट्रेस।
जोड़ा लेखक user3027873, स्रोत
क्या आपने अपना स्टैकट्रैक पढ़ा है? आपके ऐप के मेटा-डेटा टैग में AndroidManifest.xml का सही मान नहीं है। अपेक्षित 4030500 लेकिन पाया 0। आपके पास तत्व: <�मेटा-डेटा एंड्रॉइड: name = "com.google.android.gms.version" एंड्रॉइड के भीतर निम्नलिखित घोषणा होनी चाहिए: value = "@ integer/google_play_services_version" />
जोड़ा लेखक MaciejGórski, स्रोत

2 उत्तर

के कारण: java.lang.IleglegalStateException: आपके ऐप के AndroidManifest.xml में मेटा-डेटा टैग का सही मान नहीं है। अपेक्षित 4030500 लेकिन पाया 0.

आपको इसे अपने मैनिफेस्ट पर जोड़ना होगा

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
0
जोड़ा

सबसे पहले, बदलने की कोशिश करें:

android:name="com.google.android.gms.maps.SupportMapFragment"  

द्वारा:

class="com.google.android.gms.maps.SupportMapFragment"  

और जब आप getMap() MapFragment के साथ प्रयास करते हैं तो आप गलत होते हैं।

Android SupportMapFragment class needs to call getSupportFragmentManager() method. so you have to do SupportMapFragment, as you mention in your layout, like this way:

googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();  

अगर आपकी समस्या हल हो जाएगी तो मुझे बताएं।
अधिक जानकारी के लिए, इस ट्यूटोरियल को देखें: Android SupportMapFragment उदाहरण


शायद आपकी समस्या यह आपकी एपीआई कुंजी में है। इसे हल करने के लिए:

See this one: https://stackoverflow.com/a/19828366/2668136


और इसे अपने मैनिफेस्ट में जोड़ने का प्रयास करें:

This: https://stackoverflow.com/a/19744484/2668136

0
जोड़ा
तो मैंने कोशिश की कि आपने क्या कहा और मुझे वही त्रुटि मिल गई। मुझे केवल गतिविधि की बजाय मूल वर्ग को फ्रैगमेंट एक्टिविटी में बदलना पड़ा।
जोड़ा लेखक user3027873, स्रोत
वह पहले से ही किया है। मैंने सभी पुस्तकालयों और जारों की जांच की है। यह सब आयात किया गया है।
जोड़ा लेखक user3027873, स्रोत
क्या आपने अपनी परियोजना की लाइब्रेरी के रूप में Google Play सेवाएं जोड़ दी है? देखें कि यह यहां कैसे है: developer.android.com/google/play- सेवाओं/setup.html # जमाना और जेडडब्ल्यूएनजे; एल
जोड़ा लेखक Fllo, स्रोत