2

J'ai créé la première version de mon application à l'aide de l'API Google Maps Android v1. Mais maintenant, quand j'ai publié ma demande pour la deuxième version, Google map a cessé de fonctionner. Je pense que c'est à cause de ça est déprécié.Android: Impossible de démarrer l'activité ComponentInfo {/ com.}: Android.view.InflateException: Ligne de fichier XML binaire Erreur de gonflement du fragment de classe

Alors maintenant, je suis en train de créer exemple d'application Android pour utiliser Google Map utilisant le lien

https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2 

Mais je me ci-dessous la force erreur proche

FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testmap/com.example.testmap.MainActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class fragment 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3687) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class fragment 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:209) 
at android.app.Activity.setContentView(Activity.java:1657) 
at com.example.testmap.MainActivity.onCreate(MainActivity.java:12) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
... 11 more 
Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.example.testmap-1.apk] 
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
at android.view.LayoutInflater.createView(LayoutInflater.java:471) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549) 
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568) 
... 20 more 

Mon code d'activité est

package com.example.testmap; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 

public class MainActivity extends Activity { 

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

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

Mon code de fichier XML est

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world" /> 

<fragment 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.MapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

Mon fichier manifeste est

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

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

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

<permission 
    android:name="android.os.Bundle.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<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" /> 
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.testmap.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> 

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

S'il vous plaît aidez-moi, je ne suis pas en mesure d'exécuter une application simple à utiliser cette nouvelle API Google Map

+0

Quelle est votre 'minSdkVersion' dans' AndroidManifest'? – Tushar

+0

avez-vous mis à jour votre fichier google maps jar à la version 2? – Anshul

+0

@Tushar s'il vous plaît voir ma question mise à jour avec le code manifeste –

Répondre

8

Si vous utilisez votre code pour le niveau API < 11, utilisez FragmentActivity au lieu d'étendre Activity et XML, utilisez "com.google.android.gms.maps.SupportMapFragment"

Vérifiez aussi ceci: Google Maps Fragment doesn't load

+0

J'ai essayé d'utiliser SupportMapFragment avec FragmentActivity, mais forcez quand même à fermer –

+0

Quelle est l'erreur maintenant? –

+0

plz voir le lien http://stackoverflow.com/questions/15758303/still-error-android-unable-to-start-activity-componentinfo-com-android-view# –

0
Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.... 

Cela signifie qu'il ne trouve pas android.view.fragment qui a été ajouté dans AP I niveau 11 (Android 3.0.x, HONEYCOMB); vous avez très probablement construire pour/fonctionner sur Android 2+

+0

Mais il peut faire usage de Package de compatibilité Android pour les versions précédentes – Anshul

Questions connexes