41 votes

Comment créer une application Android dans Android Studio utilisant Google Maps Api v2?

J'ai eu beaucoup de difficultés dans Android Studio en essayant de créer une application avec GoogleMap.

J'ai suivi le guide suivant:

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

avant avec (presque) pas de problèmes à l'aide d'eclipse que mon IDE. Je n'ai jamais utilisé l'ide avant, et à venir à partir d'eclipse, je vais avoir de la difficulté avec l'ensemble du projet/module de paradigme.

Je n'ai pas réussi à configurer le google play services sdk http://developer.android.com/google/play-services/setup.html

Ici est l'une des erreurs bizarres j'obtiens:

Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':MyMapApp:compileDebug'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Toute aide serait grandement appréciée.

55voto

Pavel Dudka Points 6059

Enfin, j'ai réussi à exécuter GoogleMapsAPIv2 projet à l'aide d'Android Studio.

EDIT: Comme mentionné par Xavier, cette méthode est d'aller travailler pour les non-gradle en fonction des projets. De l'INTERFACE et de la partie qui a été utilisé dans ce tutoriel va être exclus de AndroidStudio. Donc, si vous avez votre propre projet qui utilise le système de build Gradle, vous devez modifier manuellement les construire.gradle fichier de configuration depuis Android Studio de l'INTERFACE utilisateur n'a pas l'affecter.

EDIT2: Avec AndroidStudio v0.1.1 communiqué, l'INTERFACE utilisateur de la partie responsable pour les modules dépendances, a été éliminé, donc pour l'instant nous avons besoin de mettre à jour les dépendances à la main à travers la génération.gradle fichier. L'INTERFACE utilisateur pour le changement de gradle dépendances va être publié dans les prochaines versions

Voici ce que j'ai fait:

1) j'ai pris maps projet à partir du Google Play Services échantillons et copié que pour le répertoire distinct. Que va être notre MapsApiV2 projet, nous allons tenter de les exécuter. Sur mon Mac, il a été situé à l' <sdk_location>/extras/google/google_play_services/samples Je l'ai placé à l' ~/Work/stack/

2) Copié google-play-services_lib répertoire de projet à la même place (~/Work/stack), donc mon répertoire de travail ressemble à ceci. Btw, lib projet est situé en <sdk_location>/extras/google/google_play_services/libproject: enter image description here

3) Maintenant, nous allons ouvrir Android Studio. Sur l'écran de bienvenue, appuyez sur Import Project et importer nos maps projets de ~/Work/stack/maps. Maintenant, nous voyons beaucoup de plaintes au sujet inconnu référence aux GMS de la bibliothèque:

enter image description here

4) nous devons Maintenant ajouter Google Play Service comme une bibliothèque de référence. Va View -> Open Module Settings

5) Sur l' Modules de l'onglet, cliquez sur + "et sélectionnez" Import Module et importer vos GooglePlayServices lib. Je n'ai pas changer quoi que ce soit dans les assistants, donc cliqué Next tout le chemin à la fin:

enter image description here

6) Maintenant, vous devez faire référence à ce importés de la bibliothèque. Ouvrez à nouveau sur cet écran (aller à View -> Module Settings). Assurez-vous d'avoir votre maps projet et Dependency de l'onglet sélectionné. Cliquez sur + pour ajouter une dépendance et sélectionnez Library. Choisissez votre importés bibliothèque:

enter image description here

7) Maintenant, nous pouvons voir qu'il n'est pas de se plaindre GMS bibliothèque, mais encore de se plaindre sur la prise en charge de la bibliothèque:

enter image description here

8) nous allons remédier à cela. J'ai ma bibliothèque de prise en charge situé à l' <sdk location>/extras/android/support/v13/android-support-v13.jar. Essayons donc de les ajouter à notre espace de travail. Aller à l' View -> Open Module Settings et sélectionnez Libraries tab. Sélectionnez + -> Java et sélectionnez bibliothèque de prise en charge:

enter image description here

9) Maintenant, il va vous demander quel est le projet pour ajouter cette lib, donc assurez-vous d'avoir sélectionné votre maps projet:

enter image description here

10) À ce stade, le code devrait compiler w/o problèmes. Assurez-vous juste que vous ciblez la bonne version du SDK dans le Manifeste.

Amusez-vous

13voto

Frohnzie Points 2487

J'étais en suivant les mêmes instructions, sauf que j'étais en train de créer un nouveau projet. Dans le cadre du projet de la structure, j'ai enlevé l'Android-Gradle facette et a été en mesure de construire avec succès. En option, on peut mettre à jour les fichiers de build gradle et ajouter le Android-Gradle facette de la pièce services de la bibliothèque.

NOTE: j'ai changé le nom de Google Play Services d'annuaire.

build.gradle pour les Google Play Services de la bibliothèque.

apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('google-play-services.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aild.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

build.gradle pour l'application de test.

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':lib-google-play-services')
    compile files('../lib-google-play-services/libs/google-play-services.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 16
    }
}

9voto

monopoint Points 251

J'ai essayé et a échoué de nombreuses un tutoriel sur ce sujet, mais de trouver enfin une solution simple qui semblent fonctionner avec Android Studio et gradle

Je viens d'installer Android Studio 0.2.3 sur mon mac, et ce sont ces étapes qui m'a fait voir une des cartes fragment de matière fraîche bonjour tout le monde, le modèle de projet:

1) Cliquez sur le SDK manager bouton dans la barre d'outils dans Android Studio.

2) Sous "Extras" localiser "Google play services" et de le télécharger.

3) dans votre construction.gradle fichier dans votre répertoire src, ajoutez cette ligne à des dépendances:

compile 'com.google.android.gms:play-services:3.1.36'

4) l'ordre et l'installation de votre API-clé suivant ce tutoriel: https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key

5) ajouter le fragment à votre mise en page xml:

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

6) vous devriez maintenant être en mesure de exécuter votre projet sur votre appareil.

3voto

Paschalis Points 1732

Voici une configuration pour un projet que j'ai fait qui utilise Google Maps API V2, en Android Studio 0.2, avec gradle 0.5.+. Aussi d'autres modules comme ActiobarSherlock, et une coutume NumberPicker sont utilisés, et je viens de les quitter au cas où quelqu'un a besoin d'eux.

Structure du projet:

enter image description here

1) TOP paramètres de Répertoire.gradle:

include ':SuperModule', ':libraries:actionbarsherlock', ':libraries:numberPicker'

2) le Répertoire build.gradle

task assemble {}

(certains d'entre vous face à la tâche d'assembler pas trouvé. c'est pourquoi vous avez mis cette ligne!)

3) SuperModule construire.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile 'com.google.android.gms:play-services:3.1.36'
    compile 'com.android.support:gridlayout-v7:13.0.0'
    compile project(':libraries:actionbarsherlock')
    compile project(':libraries:numberPicker')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

Avis les dépendances ici. Son actiobarSherlock(ABS), et NumberPicker, utilisé comme android Bibliothèques. J'utilise aussi Jouer à des Services(c'est pourquoi le min sdk doit être >=8), et la mise en page lib (pour l'espace de l'élément) Bibliothèque de prise en charge n'est PAS inclus ici, depuis son inclus dans l'ABS de la bibliothèque!

Actionbar Sherlock construire.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

NumberPicker construire.gradle n'est pas indiqué, car il a la même logique avec les autres..

2voto

mike gold Points 101

J'ai écrit un article et renforcé par la création d'une application de cartographie en utilisant à la fois l'Emplacement de l'interface et de l'api google map. Cela va passer par beaucoup de idiocyncracies j'ai couru dans tout en essayant d'obtenir une carte d'application et en cours d'exécution, y compris, le SDK est à inclure, ce que les bibliothèques à l'importation, ce qui défini dans le manifeste android et comment changer le gradle fichier. Espérons que cette aide

http://www.todroid.com/how-to-create-a-google-map-application-using-android-studio/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X