trazar - ¿Cómo puedo crear una aplicación de Android en Android Studio que use Google Maps Api v2?
obtener coordenadas google maps android studio (7)
Aquí hay una configuración para un proyecto que hice que usa Google Maps API V2
, en Android Studio 0.2
, con gradle 0.5.+.
También se ActiobarSherlock
otros módulos como ActiobarSherlock
y un NumberPicker
personalizado, y los dejo en caso de que alguien los necesite.
Estructura del proyecto:
1) TOP Directory settings.gradle:
include '':SuperModule'', '':libraries:actionbarsherlock'', '':libraries:numberPicker''
2) TOP Directory build.gradle
task assemble {}
(algunos de ustedes pueden enfrentar la tarea de ensamblar no encontrada. ¡Es por eso que ponen esta línea!)
3) SuperModule build.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
}
}
Observe las dependencias aquí. Su actiobarSherlock (ABS) y NumberPicker, utilizados como bibliotecas de Android. También uso Play Services (es por eso que el min sdk debe ser> = 8), y la biblioteca de soporte lib (para el elemento de espacio) Support no está incluida aquí, ¡ya que está incluida en la biblioteca de ABS!
Barra de acciones Sherlock build.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'')
}
}
No se muestra NumberPicker build.gradle porque tiene la misma lógica que los demás.
He tenido muchos problemas con Android Studio al intentar crear una aplicación con GoogleMap.
He seguido la siguiente guía con (casi) ningún problema al usar Eclipse como mi IDE:
https://developers.google.com/maps/documentation/android/start
Nunca antes había usado Android Studio y tengo dificultades con todo el paradigma de proyecto / módulo.
No he podido configurar correctamente el SDK de servicios de Google Play http://developer.android.com/google/play-services/setup.html
Este es uno de los errores extraños que estoy recibiendo:
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.
Escribí un artículo y di un paso para crear una aplicación de mapas utilizando tanto la interfaz de ubicación como la API de Google Map. Esto pasará por muchas de las idiociencias que encontré al intentar poner en marcha una aplicación de mapas, que incluye, qué SDK incluir, qué bibliotecas importar, qué configurar en el manifiesto de Android y cómo cambiar el archivo de Gradle. Espero que esto ayude
http://www.todroid.com/how-to-create-a-google-map-application-using-android-studio/
Estaba siguiendo las mismas instrucciones, excepto que estaba creando un nuevo proyecto. Bajo la estructura del proyecto eliminé la faceta Android-Gradle y pude construir con éxito. Opcionalmente, uno puede actualizar los archivos de construcción gradle y agregar la faceta Android-Gradle a la biblioteca de servicios de reproducción.
NOTA: Cambié el nombre del directorio de servicios de Google Play.
build.gradle
para la biblioteca de servicios de Google Play.
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
para la aplicación de prueba.
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
}
}
Finalmente logré ejecutar el proyecto GoogleMapsAPIv2 usando Android Studio.
EDITAR: Como mencionó Xavier, este método funcionará solo para proyectos que no están basados en gradle. Y la parte de UI que se usó en este tutorial se excluirá de AndroidStudio. Por lo tanto, si tiene su propio proyecto que utiliza el sistema de compilación Gradle, debe modificar manualmente el archivo de configuración de build.gradle, ya que la interfaz de usuario de Android Studio no lo afecta.
EDIT2: con el lanzamiento de AndroidStudio v0.1.1, la parte de la IU responsable de las dependencias de los módulos ha sido eliminada, así que por ahora necesitamos actualizar las dependencias manualmente a través del archivo build.gradle. La interfaz de usuario para cambiar las dependencias de Gradle se lanzará en las próximas versiones
EDIT3: para aquellos que todavía intentan utilizar este enfoque, tenga en cuenta que está obsoleto y ya no funciona
Aquí esta lo que hice:
1) Tomé el proyecto de maps
de los ejemplos de Servicios de Google Play y copié eso al directorio separado. Ese va a ser nuestro proyecto MapsApiV2 que intentaremos ejecutar. En mi Mac estaba ubicado en <sdk_location>/extras/google/google_play_services/samples
Lo coloqué en ~/Work/stack/
2) Copié el directorio del proyecto google-play-services_lib
al mismo lugar ( ~/Work/stack
), por lo que mi directorio de trabajo se ve así. Btw, el proyecto lib se encuentra en <sdk_location>/extras/google/google_play_services/libproject
:
3) Ahora vamos a abrir Android Studio. En la pantalla de bienvenida, presione Import Project
e importe nuestro proyecto de maps
desde ~/Work/stack/maps
. Ahora vemos muchas quejas sobre referencias desconocidas a la biblioteca de GMS:
4) Ahora tenemos que agregar el servicio Google Play como una biblioteca de referencia. Ir a View -> Open Module Settings
5) En la pestaña Modules
, haga clic en el botón +
y seleccione Import Module
e importar su lib de GooglePlayServices. No cambié nada en los asistentes, así que hice clic en Next
hasta el final:
6) Ahora necesita hacer referencia a esta biblioteca importada. Abra esta pantalla nuevamente (vaya a View -> Module Settings
). Asegúrese de tener su proyecto de maps
y la pestaña de Dependency
seleccionada. Haga clic en +
para agregar una dependencia y seleccione Library
. Elija su biblioteca importada allí:
7) Ahora podemos ver que no se queja de la biblioteca de GMS
, pero sigue quejándose de la biblioteca de soporte:
8) Arreglemoslo. Tengo mi biblioteca de soporte ubicada en <sdk location>/extras/android/support/v13/android-support-v13.jar
. Intentemos agregarlo a nuestro espacio de trabajo. Vaya a View -> Open Module Settings
y seleccione la pestaña Libraries
. Seleccione +
-> Java
y seleccione la biblioteca de soporte:
9) Ahora le preguntará a qué proyecto agregar esta lib, así que asegúrese de haber seleccionado su proyecto de maps
:
10) En este punto, el código debería compilar sin problemas. Solo asegúrate de que estás apuntando a la versión correcta del SDK en Manifiesto.
Que te diviertas
He intentado y fallé muchos tutoriales sobre esto, pero finalmente encuentro una solución simple que parece funcionar con Android Studio y gradle
Acabo de instalar Android Studio 0.2.3 en mi mac, y estos son los pasos que me hicieron ver un fragmento de mapas en una nueva plantilla de proyecto de Hello World:
1) Haga clic en el botón del administrador de SDK en la barra de herramientas de Android Studio.
2) En ''Extras'', busque ''Google play services'' y descárguelo.
3) en su archivo build.gradle en su directorio src, agregue esta línea a las dependencias:
compile ''com.google.android.gms:play-services:3.1.36''
4) solicite e instale su API-key siguiendo este tutorial: developers.google.com/maps/documentation/android/…
5) agrega el fragmento a tu diseño 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) ahora debería poder ejecutar su proyecto en su dispositivo.
También tuve un problema similar, resolví la importación de google_play_services.jar como la biblioteca, en cambio los proyectos de Google Play Services se parecen a un módulo.
Tuve un problema similar, pero fue que no pudo encontrar el paquete com.google.android.gms.maps (siguió diciendo que no existía). Esto fue después de importar todo (aparentemente) correctamente siguiendo el tutorial de migración en los documentos propios de Google: http://developer.android.com/sdk/installing/migrate.html
De todos modos, después de importar todo, todavía tenía el problema y no estaba seguro de cómo establecer la ruta de compilación (o el equivalente no eclipse).
Solo tenía que seguir la mitad de tu tutorial a continuación, eliminar la biblioteca de google-play-services que ya figuraba en la ventana de configuración del módulo y luego volver a agregarla.
Espero que esto sea útil para otra persona.