J'essaie de remettre en marche une de mes applications avec l'API Google Maps v2 pour la première fois. J'ai créé une clé pour mon application dans mon magasin de clés, extrait le hachage SHA1, acquis une clé API, puis effectué l'application in-app suivante ... J'ai inclus:
google-play-services.jar
ainsi que d'importer la bibliothèque GooglePlayServices et de l'ajouter en tant que référence au projet. Dans mon code Java, je charge simplement la ressource de mise en page.
public class Times extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
}
}
Dans la mise en page (res/layout/map.xml) que je tente d'instancier, j'ai:
<?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="fill_parent"
Android:layout_height="fill_parent" />
J'ai également déclaré ce qui suit dans mon manifeste:
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission Android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE" />
<permission
Android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE"
Android:protectionLevel="signature" />
<uses-feature
Android:glEsVersion="0x00020000"
Android:required="true" />
Et déclaré dans la balise Application du manifeste:
<meta-data
Android:name="com.google.Android.maps.v2.API_KEY"
Android:value="My_API_Key" />
Lorsque l'activité est chargée, il se bloque avec les erreurs suivantes dans LogCat:
FATAL EXCEPTION: main
Java.lang.NoClassDefFoundError: com.google.Android.gms.R$styleable
at com.google.Android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
J'ai tenté de faire des recherches sur le problème, mais j'ai été incapable de trouver ce que je cherchais. Toute aide est grandement appréciée.
Vous devez étendre FragmentActivity
si vous utilisez SupportMapFragment
. Si vous utilisez MapFragment
, vous pouvez étendre Activity
.
Dans votre mise en page, utilisez
<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.SupportMapFragment"/>
au lieu de
...
Android:name="com.google.Android.gms.maps.SupportMapFragment"
...
Vous devez faire ceci:
public class MainActivity extends Android.support.v4.app.FragmentActivity{
}
Cela a fonctionné pour moi: https://stackoverflow.com/a/13744765/1215098
On dirait que vous devez ajouter des services Google Play en tant que module, pas simplement en tant que .jar
J'ai résolu cette erreur en cochant " Copier les projets dans l'espace de travail " lors de l'importation de la lib. Des services Google Play.
Plus d'infos ici: http://developer.Android.com/google/play-services/setup.html
j'ai eu le même problème avec les services Google Play et tout .. j'ai inclus en tant que bibliothèque et tout, et le problème persistait (" impossible de trouver com.google.Android.gms.maps.suportmapfragment ") ..
j'ai pu résoudre le problème en: Aller à Propriétés du projet. Puis Sélectionnez Chemin de construction Java . Puis sélectionnez Ordre et exportation onglet. Puis, Assurez-vous de cocher la case Dépendances Android et Bibliothèques privées Android
J'espère que cela t'aides :)
J'ai ajouté <uses-library Android:name="com.google.Android.maps" />
dans le fichier manifeste. Cela a fonctionné pour moi!
Je pense que j'ai eu le même problème, il semble que les nouvelles versions, vous devez ajouter cette ligne au manifeste
<meta-data
Android:name="com.google.Android.gms.version"
Android:value="@integer/google_play_services_version" />