web-dev-qa-db-fra.com

Impossible d'instancier Android.gms.maps.MapFragment

J'essaie de faire une démo avec Google Maps sur Android v2 avec une activité très simple, il suffit de copier le code de la page Google: https://developers.google.com/maps/documentation/Android/start#adding_the_api_key_to_votre_application

pour l'activité:

package com.example.mapdemo;

import Android.app.Activity;
import Android.os.Bundle;

public class MainActivity extends Activity {

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

pour la mise en page:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
  Android:id="@+id/map"
  Android:layout_width="match_parent"
  Android:layout_height="match_parent"
  class="com.google.Android.gms.maps.MapFragment"/>

Je devais demander une clé API selon la page et modifier mon fichier androidmanifest.xml, comme ceci:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.wenhai.driverschool"
    Android:versionCode="1"
    Android:versionName="1.0" >

    <uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="15" />

    <uses-permission Android:name="Android.permission.INTERNET" />

    <!-- add for map2 -->
    <permission
        Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature" />

    <uses-permission Android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
    <uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />
    <!-- External storage for caching. -->
    <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Maps API needs OpenGL ES 2.0. -->
    <uses-feature
        Android:glEsVersion="0x00020000"
        Android:required="true" />

    <application
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <meta-data
            Android:name="com.google.Android.maps.v2.API_KEY"
            Android:value="AIzaSyDVAF4WaVSVRDKJx87It8OSFP5txQcPabc" />

        <activity
            Android:name=".MainActivity"
            Android:label="@string/title_activity_main" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

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

</manifest>

Je fais également référence à mon application à google-play-services_lib dans Eclipse.

mais à chaque fois, le rapport d'erreur dans logcat ressemble à ceci:

2-05 16:22:53.609: E/AndroidRuntime(21623): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wenhai.driverschool/com.wenhai.driverschool.MainActivity}: Android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1967)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1992)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.access$600(ActivityThread.Java:127)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1158)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.os.Handler.dispatchMessage(Handler.Java:99)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.os.Looper.loop(Looper.Java:137)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.main(ActivityThread.Java:4441)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.reflect.Method.invoke(Method.Java:511)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:823)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:590)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.NativeStart.main(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: Android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:697)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:466)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:255)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Activity.setContentView(Activity.Java:1835)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.Java:11)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Activity.performCreate(Activity.Java:4465)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1049)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1931)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 11 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: Android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.Android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Fragment.instantiate(Fragment.Java:581)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Fragment.instantiate(Fragment.Java:549)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Activity.onCreateView(Activity.Java:4235)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:673)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 20 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: Java.lang.ClassNotFoundException: com.google.Android.gms.maps.MapFragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:61)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:501)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:461)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Fragment.instantiate(Fragment.Java:571)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 23 more

Je ne connais pas la raison de cela.

Si j'ajoute google-play-services.jar dans mon projet, une autre erreur sera signalée:

12-05 16:34:23.269: E/AndroidRuntime(22638): FATAL EXCEPTION: main
12-05 16:34:23.269: E/AndroidRuntime(22638): Java.lang.NoClassDefFoundError: com.google.Android.gms.R$styleable
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.Android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.Android.gms.maps.MapFragment.onInflate(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Activity.onCreateView(Activity.Java:4242)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:673)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:466)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:255)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Activity.setContentView(Activity.Java:1835)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.Java:11)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Activity.performCreate(Activity.Java:4465)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1049)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1931)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1992)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.access$600(ActivityThread.Java:127)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1158)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.os.Handler.dispatchMessage(Handler.Java:99)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.os.Looper.loop(Looper.Java:137)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.main(ActivityThread.Java:4441)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Java.lang.reflect.Method.invoke(Method.Java:511)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:823)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:590)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at dalvik.system.NativeStart.main(Native Method)

Quelqu'un peut m'aider à ce sujet?

80
mmm2006

Dans IntelliJ IDEA (mis à jour pour IntelliJ 12):

  1. Créez un fichier ~/Android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/src/dummy.Java contenant class dummy {}.
  2. Fichier-> Module d'importation-> ~/Android-sdk/extras/google/google_play_services/libproject/google-play-services_lib
  3. Créer un module à partir de sources existantes
  4. Suivant-> Suivant-> Suivant-> Suivant-> Terminer
  5. Fichier-> Structure du projet-> Modules-> YourApp
  6. +-> Dépendance de module-> Google-play-services_lib (The + bouton se trouve dans le coin supérieur droit de la boîte de dialogue.)
  7. +-> Bocaux ou répertoires -> ~/Android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
  8. Utilisez le up/down flèches pour déplacer <Module source> au bas de la liste.

Vous pouvez supprimer dummy.Java si vous le souhaitez.

Edit: Après avoir utilisé cela pendant un moment, j'ai constaté qu'il y avait un petit défaut/bug. IDEA se plaindra parfois de ne pas pouvoir ouvrir un fichier de projet .iml dans le répertoire google-play-services_lib, même si vous ne lui avez jamais dit qu'il y avait un projet. Si cela se produit, la reconstruction du projet résout le problème, du moins jusqu'à ce qu'il revienne.

85
Timmmm

Mettre à jour

Suivez les extraits de code de Commonsware MapV2 pour une meilleure compréhension.

(Il est présent dans l'édition Omnibus)

https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2

L'extrait suivant fonctionne bien de mon côté. J'ai choisi d'utiliser SupportMapFragment.

N'oubliez pas d'ajoutergoogle-play-services.jardans votre projet.

MainActivity.Java

package com.example.newmapview;

import Android.os.Bundle;
import Android.support.v4.app.FragmentActivity;
import com.google.Android.gms.maps.SupportMapFragment;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SupportMapFragment fragment = new SupportMapFragment();
        getSupportFragmentManager().beginTransaction()
                .add(Android.R.id.content, fragment).commit();
    }
}

manifest.xml

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

    <uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="16" />

    <permission
        Android:name="com.example.newmapview.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature" />

    <uses-permission Android:name="com.example.newmapview.permission.MAPS_RECEIVE" />
    <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" />

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

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

</manifest>

Voici le résultat

enter image description here J'espère que cela vous aidera.

33
Vipul Shah

Essayez simplement de remplacer votre mise en page par:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
      Android:id="@+id/map"
       Android:name="com.google.Android.gms.maps.SupportMapFragment"
       Android:layout_width="wrap_content"
       Android:layout_height="match_parent" />

Vous devez utiliser SupportMapFragment pour API sous 11!

Aurel

23
Aurel

J'ai rencontré le même problème et il m'a fallu plusieurs jours pour trouver une solution qui me convenait bien:

  1. Supprimer le projet google-play-services_lib (clic droit sur le projet supprimer)
  2. Supprimez le projet contenant la démo de Google Maps (MainActivity dans mon cas) si vous en avez un.
  3. Copiez le projet google-play-services_lib (extras\google\google_play_services\libproject\google-play-services_lib) dans votre espace de travail puis importez-le en tant que projet général (Fichier-> import-> projets existants dans le dossier de travail)
  4. Faites un clic droit sur votre projet (dans lequel vous voulez charger la carte) -> Android -> ajouter (sous la bibliothèque) google-play-services_lib

Vous devriez voir quelque chose comme ça:

notice the

Remarque: vous ne devriez pas avoir quelque chose comme ça (le projet devrait être référé depuis votre espace de travail):

enter image description here

Je pense que le problème est que les projets de remorquage font référence à la même bibliothèque 

17
zizoujab

essaye ça

http://developer.Android.com/tools/projects/projects-Eclipse.html#ReferencingLibraryProject

Je viens d'ajouter le projet de services Google et d'ajouter une référence dans la propriété de mon projet-> Android

10
Guilherme Muniz
  1. A présent, la démo peut fonctionner suivre ce lien
  2. Par exemple demo, ça peut marcher aussi:

Ajoutez deux fichiers jar dans le répertoire libs de votre projet. Suivez les informations ci-dessous. En particulier, je pense que vous devez:

  • Importez la source réelle du projet "google-play-services_lib" et associez-la à une bibliothèque Android .
    • Faites ceci via Projet -> Propriétés -> Android -> Bibliothèque, Ajouter -> google-play-services_lib (vous pouvez cliquer avec le bouton droit de la souris sur votre projet et choisir Propriétés, puis sélectionner Android).
    • Ne l'ajoutez pas en tant que projet dépendant via le "chemin de construction Java" de votre projet, cela n'a pas fonctionné pour moi.
  • Ajoutez google-play-services.jar et Android-support-v4.jar dans un dossier "libs" du projet exemple, puis ajoutez-les en tant que "JAR externes externes" dans "Chemin de construction -> Configurer le chemin de construction -> Bibliothèques". .

J'ai trouvé que cette deuxième étape était nécessaire car je rencontrais exactement la même erreur que vous lorsque vous essayez d'utiliser le code exemple. La première étape était nécessaire pour éviter une erreur NoClassDefFoundError dans com.google.Android.gms.R $ pouvant être stylée dans mon projet réel.

Je devais également effectuer une construction propre et désinstaller l'application du périphérique (d'une tentative de test précédente) avant que l'exemple de code ne fonctionne.

merci beaucoup votre aide.

8
mmm2006

Peut-être que vous devez souligner ceci:

Remarque: les services Google Play ne sont pas pris en charge sur l'émulateur Android. Pour développer à l'aide des API, vous devez fournir un périphérique de développement tel qu'un téléphone ou une tablette Android.

http://developer.Android.com/google/play-services/setup.html

Vous devez fournir un périphérique de développement physique sur lequel vous pouvez exécuter et déboguer votre application. N'utilisez pas d'émulateur. Ne fonctionnera pas.

3
chameleon

Dans votre MainActivity (ou dans chaque activité pour laquelle vous souhaitez placer la carte v2), vous devez étendre FragmentActivity ou Activity ou vous souhaitez utiliser SupportMapFragment ou simplement MapFragment. Utilisez la classe MapFragment uniquement si vous ciblez l'API 12 et supérieure. Sinon, utilisez SupportMapFragment. C'est une différence subtile mais c'est l'erreur.

2
Sheddad

Alors que Google map est maintenant enveloppé sous Fragments, étendez votre activité de FragmetActivity pas seulement Activity et assurez-vous que vous utilisez " supporrtMapFragment ", vous importez alors Fragment de support package.

2
Pratap Singh

Ajouter cette dépendance dans build.gradle

compile 'com.google.Android.gms:play-services:6.5.87'

Maintenant ça marche

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

    <fragment
        Android:id="@+id/map"
        Android:name="com.google.Android.gms.maps.MapFragment"
        Android:layout_width="match_parent"
        Android:layout_height="388dp"
        Android:layout_weight="0.40" />
</LinearLayout>
1
yubaraj poudel

C'était un peu difficile parce que c'était différent dans l'API précédente, mais j'ai trouvé une solution. Google dit quoi faire ici ; En fonction de la question, nous avons besoin des classes com.google.Android.gms. Il est donc nécessaire de configurer le google play services, qui est simplement une bibliothèque que nous devons ajouter à notre projet, comme ceci: link . Il est très important d'importer la copie de la bibliothèque de projet google-play-services_lib et non celle qui se trouve dans le dossier sdk. Une fois que cela est fait, le tutoriel de Google va parfaitement.

1
joseph.dev89

En plus des nombreuses choses mentionnées précédemment, il était important pour moi de marquer le .jar également dans Order and Export. Autant que je sache, ce n'est généralement pas mentionné et pour moi c'était crucial.

Mark the lib in Order and Export

1
AlvaroSantisteban

se rapportent à cette suggestion: https://stackoverflow.com/a/20215481/3080835

de plus, j'ai dû ajouter ceci à l'élément Application dans le manifeste:

<meta-data 
           Android:name="com.google.Android.gms.version" 
           Android:value="@integer/google_play_services_version" />

et cela a fonctionné parfaitement.

1
user3080835

Dans mon projet Intellij Idea, je devais ajouter les deux: google-play-services_lib et google-play-services.jar au projet. Et dans le projet google-play-services_lib, ajoutez également google-play-services.jar. Après cela, si vous faites tout ce qui est décrit ici bien, votre application devrait fonctionner.

1
jumper0k

Veuillez lire attentivement

Si tout fonctionne comme le code Google, veuillez vérifier le fichier manifeste dans mon cas, j’ai ajouté la clé géographique et la carte correspondant à la raison pour laquelle une exception se produit.

Remarque - N'ajoutez pas deux clés dans le fichier manifeste. Supprimez la clé de carte

meta-data
        Android:name="com.google.Android.maps.v2.API_KEY"
        Android:value="@string/google_maps_key"/>

ajoutez ce code.

 <meta-data
        Android:name="com.google.Android.geo.API_KEY"
        Android:value="@string/auto_location"/>

 <meta-data
        Android:name="com.google.Android.gms.version"
        Android:value="@integer/google_play_services_version"/>
0
Yogesh Rathi

J'ai écrit dans l'activité
import com.google.Android.gms.maps.SupportMapFragment;

et Eclipse m'a donné l'icône rouge> cliquez sur> fixez l'installation du projet ..> ajouter une archive google-play-services.jar

Et finalement ça a marché !!

0
Holyna

Ajouter des services Google Play à votre projet

Pour rendre les API de services Google Play disponibles pour votre application:

suivez les étapes présentes dans ce lien: http://developer.Android.com/google/play-services/setup.html#Setup

0
kkk

J'ai eu le même problème sur mon LG-E730 avec Android 2.3.4 . L'erreur apparaît avant la mise à jour Service Google Play sur mon téléphone.

0
Lazy Beard

Dans Eclipse, il est nécessaire de créer un projet distinct pour les services de Google Play et de le référencer en tant que lib de votre projet Android au lieu de simplement y ajouter le fichier jar. Dans mon ordinateur, j'ai importé le projet Eclipse des services Google Play directement depuis D:\adt-bundle-windows-x86-20130219\sdk\extras\google\play_services\libproject\google-play-services_lib et l'a configuré pour le projet Lib afin pourrait faire référence à partir de mon projet Android.

0
Piovezan

J'ai eu le même problème et juste installé Play Services de SDK et tous les problèmes s'envolent. 

0
Harsha

Il est indiqué sur le même tutoriel que

Veuillez noter que le code ci-dessous n'est utile que pour tester votre fichier paramètres dans une application ciblant Android API 12 ou une version ultérieure

Il suffit de changer votre version du SDK min à 12 et cela fonctionnera

<uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="15" />

Haven a déjà essayé la solution d’Aurel pour les anciennes versions de l’API.

0
ericn

J'ai ce problème, je viens de mettre à jour les services Google Play et de vous assurer que vous ajoutez le projet google-play-service-lib en tant que dépendance, cela fonctionne maintenant sans changement de code, mais j'obtiens toujours "Les ressources des services Google Play n'ont pas été trouvées Vérifiez la configuration de votre projet pour vous assurer que les ressources sont incluses. " mais cela ne se produit que lorsque vous avez setMyLocationEnabled (true), tout le monde sait pourquoi?

0
eOnOe

Je n’obtiens pas la vraie solution, mais je la résout après avoir fait les choses suivantes:
- Cochez la case "Copier les projets dans l'espace de travail" lors de l'importation de google-play-services_lib
- Ne définissez pas minSdkVersion inférieur à 13
- Si vous rencontrez une erreur avec le thème, essayez de changer votre thème de disposition en n’importe quel thème du système
- Recréez votre projet à partir de zéro ou rétablissez tout si vous le récupérez quelque part

0
Van Hung

Première étape http://developer.Android.com/tools/projects/projects-Eclipse.html#ReferencingLibraryProject Deuxième étape http://developer.Android.com/ google/play-services/setup.html Sur cette page il y a une NOTE mais nous n'avons pas fait attention 

Remarque: vous devez référencer une copie de la bibliothèque que vous avez copiée dans votre arborescence source. Vous ne devez pas référencer la bibliothèque à partir du répertoire du SDK Android.

Mais je pense que ce n'est pas un bon moyen de documentation :)

0
George Nguyen

N'oubliez pas de créer réellement le google-play-services_lib !! C'est pourquoi il affiche le message "Impossible de trouver google-play .... apk". Pour moi, sur Eclipse, aucun autre hacks n'était nécessaire, mais pour référencer le projet à partir du sous-menu Android, et non à partir du chemin de construction Java, des références de projet ou autres. Pas de bocaux placés manuellement, rien ne fut réellement nécessaire pour moi.

0
annouk

Cela pourrait être utile à certains. J'ai eu deux projets, l'un qui était une copie de la démo de Google et qui a bien fonctionné. Un autre que j'ai copié dans un projet existant et je ne pouvais pas le faire fonctionner du tout. Et lors du second échec, je recevais le message d'erreur décrit ci-dessus.

Mon problème était dû à une bibliothèque non activée, même si je l'avais reconstruite, importée plusieurs fois, etc. Cliquez avec le bouton droit sur le projet -> Propriétés -> Chemin de construction Java -> onglet Ordre et exportation. Sur le projet en échec, l'onglet "Bibliothèques privées Android" n'a pas été coché.

Une fois activé, le projet a bien fonctionné.

0
dubman23

j'ai eu tout ce que tout le monde disait ci-dessus et résolu l'erreur en appelant simplement le super.onCreate(savedInstanceState); en tant que première instruction de la méthode oncreate; avant c'était la dernière ligne de la méthode. : | perdu toute la journée.

0
Awais Akhtar

J'ai rencontré ce problème lors de l'utilisation d'Android SDK pour x86 sur un ordinateur Windows 7 64 bits. J'ai téléchargé la version 64 bits du SDK Android et je l'ai fait voir dans Fenêtre> Préférences> Android> Emplacement du SDK.

0
Piovezan

Je pense qu'il vaut la peine de mentionner (après avoir passé plus d'une heure à tirer mes cheveux) que si vous utilisez MapFragment, vous ne pouvez pas utiliser FragmentActivity (SupportMapFragment fonctionnera correctement dans cet environnement). J'étais sur le point de l'abandonner.

0
nicmoon

Pour prendre en charge les importations liées à Drive, vous aurez besoin de quelques jar du Google Drive SDK. Il y en a quelques-uns de grande taille, vous pouvez donc les ajouter individuellement en fonction de votre application.

Si cela ne résout pas le com.google.Android.gms.* imports,the Google Play Services add-on needs to be installed (from Extras -> Google Play Services in the SDK Manager) and google-play-services.jar needs to be added to your build path.

MODIFIER:

Dans ce cas, les pots suivants étaient nécessaires:

google-api-services-drive-v2-rev1-1.7.2-beta.jar

google-http-client-1.10.3-beta.jar

google-http-client-Android2-1.10.3-beta.jar

google-oauth-client-1.10.1-beta.jar

google-api-client-Android2-1.10.3-beta.jar

google-api-client-1.10.3-beta.jar

0
Bhavesh Patadiya